1.场景还原
近期,笔者项目中需要通过关键字来搜索与之相关的数据,es的全文搜索终于派上用场了!
2.准备步骤
①原理分析:
es主要采用倒排索引,即每一个文档都对应一个ID。倒排索引会按照指定语法对每一个文档进行分词,然后维护一张表,列举所有文档中出现的terms以及它们出现的文档ID和出现频率。搜索时同样会对关键词进行同样的分词分析,然后查表得到结果。
②先下载与项目中es版本对应的ik中文分词器,https://github.com/medcl/elasticsearch-analysis-ik
③在es的plugins目录下创建ik,然后解压缩ik
④在elasticsearch.yml配置ik属性
index.analysis.analyzer.default.tokenizer : "ik_max_word"
index.analysis.analyzer.default.type : "ik"