用ElasticSearch,一般都会自写一些特别需求的分析器(analyzer)吧,其中涉及到字符过滤器(character filter)、分词器(tokenizer)和过滤器(filter)的使用。
那么,这些涉及到的部分是如何在一次分析中执行的呢?顺序又是如何的呢?且看下文。

当一个分析器被执行时,会按如下顺序对待分析的字段做处理:

  1. 字符过滤器(character filter):使用字符过滤器转变字符。
  2. 分词器(tokenizer):将文本(档)分为单个或多个分词。
  3. 过滤器(filter):使用分词过滤器转变每个分词。

看着很简单是吧,事实上,理解了也确实很简单,但玩儿法其实很多。

比如一些插件提供了分词器和过滤器,你可以选择使用人家的分词器,也可以选择自己的分词器,配合插件提供的过滤器来实现目标功能。

最常见的一种用法就是pinyin插件,用自写的分词器分词,然后使用pinyin插件的首字母或者全拼的过滤器,最终将结果转换为我们所需的分析结果。

点到即止。

参考资料:
https://www.cnblogs.com/heshun/articles/10658839.html
https://blog.csdn.net/u014646662/article/details/88413779


如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行赞赏和鼓励。

与《ElasticSearch一看就懂之分析器的流程》相关的博文:


留言

Admin Avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌