自定义分词词
elasticsearch中分词器(analyzer)的组成包含三部分:
- character filters : 在tokenizer 之前对文本进行处理,例如删除字符替换字符
- tokenizer: 将文本按照一定的规则切割成词条(term)。例如keyword就是不分词,还有ik_smark
- tokenizer-filters: 将tokenizer 输出的词条进一步处理。例如大小写转换,统一次处理,拼音处理等。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ad6f6efa62540e1928974ac92a57926.png)
自定义分词器语法
![在这里插入图片描述](https://img-blog.csdnimg.cn/026378bacd2a45999def652def687868.png)
自定义分词词的问题
![在这里插入图片描述](https://img-blog.csdnimg.cn/0b0f07baf8da4e90beaa9158ab5a31f9.png)
处理自定义分词器的问题
创建索引时,使用拼音分词器
查询文档时,不使用拼音分词器,用ik_max_smart或 ik_smart
![在这里插入图片描述](https://img-blog.csdnimg.cn/2f0f98919d5e4fdd804557b920a906cd.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fdb2d0e4fdcd4ffaa3b7b3fcb5d05fd2.png)