由于需要编写Elasticsearch相关的文章,所以我们还是按照惯例来介绍下Elasticsearch。
一、Elasticsearch是什么?
Elasticsearch是一个构建在Apache Lucene之上的现代化开源分布式搜索引擎。他在Lucene的基础上进行扩展,使我们在使用搜索引擎的时候更加灵活,有弹性,同时使存储、索引、查询速度更快。
二、Elasticsearch能解决哪些问题?
Elasticsearch能解决3个问题,分别是:
1、提供快速存储和查询的效果 2、确保查询结果的相关性 3、提供超越精确匹配的功能
2.1、提供快速存储和查询的效果
相信使用过Elasticsearch的朋友都知道,他的存储是非常快的,毫秒级别,查询也是非常快,毫秒级别。在Elasticsearch的底层,它主要依赖倒排索引来构建索引(后面我们会专门出一篇文章来介绍倒排索引)。
2.2、确保查询结果的相关性
这里主要是对于我们查询的结果一定会有一定的相关性,例如我们搜索Elasticsearch,那么返回的结果肯定都包含Elasticsearch这个关键词,如果不包含这个关键词的结果肯定是不会返回给用户的。
2.3、提供超越精确匹配的功能
这块算是Elasticsearch提供的高级功能,例如拼写错误纠正,数据统计、自动提示等,这些在正常的sql查询里面是不会有的,但是在Elasticsearch中,就提供这样得功能(具体信息后面的文章会介绍到)。
三、如何利用Elasticsearch,搭建一套属于自己的搜索引擎系统
这块可以有如下的思路:
1、如果是在现有系统里面搭建Elasticsearch的话,我们可以直接把文本抽取到Elasticsearch中,然后使用Elasticsearch的api进行相关的搜索使用。
2、如果没有系统的话,则可以单独搭建一套Elasticsearch,然后我们打造一个公共的查询索引开放平台,各系统的搜索需求直接从这个开放平台进行查询。
好了 简单看看之后,我们就开启Elasticsearch的探索吧。
还没有评论,来说两句吧...