本小结主要了解的内容是:
- 了解分词器的概念
- 掌握IK分词器和热词配置
1.分词
ES中为了方便查询,提供多维度的查询功能,对存储在索引中的文档进行分词计算,但是文本内容不同,类型不同,语言不同分词计算逻辑就不会一样.
1.1概括
文本分析使Elasticsearch能够执行全文搜索,其中搜索返回所有相关结果,而不仅仅是精确匹配.如果您搜索"王者荣耀",您可能希望包含"王者","荣耀"和"王者荣耀"的文档,还可能希望包含相关"王"或"者"的文档。
- Tokenization
该过程将文本拆分成一小块一小块,这一小块内容称之为token,大多数情况下一个token代表着一个词语;
- Normalization
词条化允许在单个术语上进行匹配,但是每个标记仍然是字面上匹配的。这就意味着:
- 搜索"Quick"不会匹配"quick",即使你觉得或希望这样
- 虽然"fox"和"foxes"有着相同的词根,但是对于fox的搜索并不匹配foxes,反之亦然。
- 搜索"jumps"不会匹配"leaps",他们不同根,但是同义.
这些问题可以通过Normalizatin解决,将词条规范化标记.这就允许你不仅能使用精确的匹配搜索,还可以使用相关性查询.
1.2分词器
应对不同的分词计算逻辑,ES中使用了不同的底层的分词器.
-
standard analyzer
这是一个标准分词器,