elasticsearch倒排索引与中文分词器

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>

启动查看新增分词文件是否加载


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容