Elasticsearch介绍和环境搭建(一)
  19qMgiCiiRfc 2023年11月02日 40 0

一、基本概念

Elasticsearch是一款非常强大的开源搜索引擎,具备非常强大的功能,可以帮助我们从海量数据中快速找到我们需要的内容。它负责存储、搜索、分析数据,底层是基于lucene来实现的,核心是基于倒排索引。

二、倒排索引

倒排索引中有两个非常重要的概念:

文档(Document):用来搜索的数据,其中每一条数据就是一个文档,例如商品表中的每一个商品,用户表中的每个用户。

词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到具备含义的词语就是词条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这样的几个词条。

创建倒排索引是对正向索引的一种特殊处理,流程如下:

1.将每一个文档的数据利用算法分词,得到一个个词条。

2.创建表,每行数据包含词条、词条所在的文档ID,位置等信息。

3.因为词条的唯一性,可以给词条创建索引。

倒排索引和正向索引的区别:

正向索引是最传统的,根据ID索引的方式。根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。

倒排索引是先找到用户要搜索的词条,根据词条得到包含词条的文档ID,然后根据ID获取文档,是根据词条找文档的过程。

倒排索引和正向索引的优缺点:

正向索引:优点是可以给多个字段创建索引,根据索引字段搜索、排序速度非常快。缺点是根据非索引字段,只能全表扫描。

倒排索引:优点是可以根据词条搜索、模糊搜索时,速度非常快。缺点是只能给词条创建索引,而不是字段。也无法根据字段做排序。

三、相关概念

1.文档和字段

elasticsearch是面向文档存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中。而json文档中往往包含很多的字段,类似于数据库中的列。

2.索引和映射

索引(index)就是相同类型的文档的集合。我们可以把索引当做是数据库中的表。数据库的表会有约束信息,用来定义表的结构、字段的名称、类型等信息。因此,索引库中就有映射(mapping),是索引中文档的字段约束信息,类似表的结构约束。

四、相关部署

1.部署elasticsearch

我们下载好对应的文件之后,在elasticsearch的bin目录下

Elasticsearch介绍和环境搭建(一)_elasticsearch

双击打开elasticsearch.bat,运行成功之后在浏览器打开地址:localhost:9200

Elasticsearch介绍和环境搭建(一)_elasticsearch_02

出现类似这样的数据返回,说明elasticsearch运行成功。

2.部署kibana

我们根据elasticsearch版本号下载对应的kibana版本。

https://www.elastic.co/cn/downloads/past-releases/kibana-6-8-12

Elasticsearch介绍和环境搭建(一)_倒排索引_03

下载后之后解压。我们在bin目录下双击kibana.bat。

Elasticsearch介绍和环境搭建(一)_elasticsearch_04

Elasticsearch介绍和环境搭建(一)_倒排索引_05

浏览器地址栏输入 http://localhost:5601 查看 Kibana 的图形化界面

Elasticsearch介绍和环境搭建(一)_倒排索引_06

进入平台之后,可以在这个界面中编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。

Elasticsearch介绍和环境搭建(一)_字段_07

3.安装分词器

我们下载好对应的分词器版本:elasticsearch-analysis-ik-6.8.12

Elasticsearch介绍和环境搭建(一)_倒排索引_08

然后复制到elasticsearch的plugins目录下。

Elasticsearch介绍和环境搭建(一)_字段_09

我们可以在config目录下的IKAnalyzer.cfg.xml添加自己扩展的字典和禁用的字典。

Elasticsearch介绍和环境搭建(一)_elasticsearch_10

我们分别创建两个文件,一个用于扩展字典一个用于停止字典。

Elasticsearch介绍和环境搭建(一)_字段_11

Elasticsearch介绍和环境搭建(一)_倒排索引_12

最后我们在Kibana中测试分词。

Elasticsearch介绍和环境搭建(一)_elasticsearch_13

发现我们设置禁用的字典词条已经被禁用了,只出现了正常使用的字典词条。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  9J4CFPeHjrny   2023年12月24日   29   0   0 字段Java字段Java
19qMgiCiiRfc