elasticsearch倒排索引原理
- elasticsearch全文检索采用的是倒排索引实现的,
原理:对文档内容关键字进行收集,根据分词,找到对应的文章id,简而言之,通过关键字直接定位文档id。
简易查询
DSL语言查询,即使用json完整的请求体,叫做结构化查询(DSL)
term查询(精确查询)
-
match查询(支持分词查询)
Linux环境安装中文分词器IK插件
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
解压,重命名为 ik
上传到elasticsearch的plugins目录下
重启elasticsearch
自定义扩展分词器文件
进入../elasticsearch-6.4.3/plugins/ik/config
新建custom
目录,vi new_word.dic
cd xx/elasticsearch-6.4.3/plugins/ik/config
vi IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">custom/new_word.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
启动查看新增分词文件是否加载