elasticsearch

Java75

一、什么是Elasticsearch?

  • Lucene是一套用于 全文检索搜寻开源程序库,由Apache软件基金会支持和提供
  • Lucene提供了一个简单却强大的应用程序接口(API),能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具
  • Lucene并不是现成的搜索引擎产品,但可以用来制作搜索引擎产品
  • Lucene是一套信息检索工具包! jar包!不包含搜索引擎系统!Lucene包含:索引结构!读写索引的工具!排序,搜索规则...工具类!等 Lucene和ElasticSearch关系:简单来说,Elasticsearch是基于Lucene做了一些 封装和 *增强

Elasticsearch是一个 实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于 全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供 全文搜索并高亮关键字,以及 输入实时搜索(search-asyou-type)搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以 实时的反馈,以便及时了解公众对新发表的文章的回应。StackOverflow结合 全文搜索地理位置查询,以及more-like-this功能来找到相关的问题和答案。Github使用Elasticsearch检索 1300亿行的代码。

并且Elasticsearch不仅用于大型企业,它还让像DataDog以及Klout这样的创业公司将最初的想法变成可扩展的解决方案。

Elasticsearch可以在你的笔记本。上运行,也可以在数以百计的服务器上 处理PB级别的数据。Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。 无论在开源还是专有领域, Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是, Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是, Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

Elasticsearch也使用 Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,它的目的是通过简单的 RESTful API(REST风格的网络接口,是当下主流的API)来隐藏Lucene的复杂性,从而让全文搜索变得简单。

ElasticSearch的应用场景

1、维基百科,类似百度百科, 全文检索, 高亮, 搜索推荐

2、The Guardian (国外新闻网站) , 类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论) +社交网络数据(对某某新闻的相关看法) ,数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长