ES学习笔记1:什么是Elasticsearch

1,什么是搜索?

1.1 搜索初印象

在百度中进行搜索这个问题,找到百度百科对于搜索的概念如下:

通常的理解,把搜索和百度划上等号,但是需要注意的是:百度!=搜索,这是不对的 !

1.2 垂直搜索

垂直搜索,就是对特定领域、针对特定人群、特定需求的搜索。相对应的搜索引擎就是垂直搜索引擎。

具有:专、精、深的行业特点。

互联网的搜索   举例:电商网站、招聘网站、新闻网站等。搜索“棒棒糖”,显示相关的订单、产品。

IT系统的搜索  举例:OA软件、办公自动化软件、会议管理、日程管理、项目管理、员工管理,搜索“joy”。

给出定义:搜索,就是在任何场景下,寻找需要的信息,在这个过程中,会输入相关的关键字,然后就期望能够找到与之相关的信息。

2,数据库中搜索如何进行?

使用数据库进行搜索总结来说:不够靠谱,性能差。具体体现:

1,每条记录对指定文本描述可能会很长,比如对某个商品的描述信息可能就很长,在进行数据库的搜索时,需要多每条记录的所有文本进行扫描,去搜索是否包含指定的某个关键字(比如“棒棒糖”)。

2,不能讲词拆分开了,也就是没有分词的功能。所以搜索结果不够“智能”,不如搜索“生化机”,“生化危机”就不会出现在结果中。

3,什么是全文检索、倒排索引和Lucene?

3.1 全文检索

在百度中得到的词条如下:其实就是对文章分词,使用倒排索引,对关键词进行检索的过程。

3.2 倒排索引

上图左边的列表,就是倒排列表,这个过程就是全文检索。

3.3 Lucene

简单来说,就是jar包,里面包含封装好的各种建立的倒排索引,以及进行搜索的代码,各种排序算法等等。在进行Java开发时,引入Lucene的jar包,然后基于Lucene的API进行去开发。

4,什么是Elasticsearch?

这里图就用石杉老师的先来表示,等后续更新自己理解和画的。

参考资料:1,百度百科对搜索、全文检索、倒排索引、Lucene的定义,解释。

                  2,Elasticsearch顶尖高手入门第二课讲义。

发布了38 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_40165004/article/details/90742169
今日推荐