分词器的组成

3.倒排索引和分词 - 图1

  • 前后两个filter

    analyze 测试分词器

    测试分词器

    3.倒排索引和分词 - 图2

    测试指定字段上的分词器

    3.倒排索引和分词 - 图3

    测试自定义分词器

    自定义 tokenizer filter
    3.倒排索引和分词 - 图4

    es自带的分词器

    3.倒排索引和分词 - 图5

  • standard是按空格或一些特殊字符切分(保留数字)

  • simple是按照非字母规则切分
  • stop analyzer = simple + Stop Token Filter

    standard analyzer

    image.png

  • standard token filter现在什么都没做

image.png

  • stop停用词默认关闭,可以手动打开。

    中文分词器

    ik、jieba、hanlp、icu、pinyin

    icu analyzer

    image.png

ik中文分词最佳实践

  • ik_smart:智能分词(查询分词用)
  • ik_max_word:尽最大努力分词(构建索引用)

image.png
如果上述方案不行,则降级都使用ik_max_word。

自定义分词器

character filter

3.倒排索引和分词 - 图10

mapping 【敏感词过滤】

image.png

tokenizer

3.倒排索引和分词 - 图12
image.png

token filter

3.倒排索引和分词 - 图14
image.png

ngram【可用于自动补全功能】

image.png

自定义分词器

3.倒排索引和分词 - 图17
3.倒排索引和分词 - 图18
不需要分词的字段type设置为keyword

自定义同义词

3.倒排索引和分词 - 图19

索引时分词&查询时分词

image.png
image.png
不指定查询分词器就使用索引分词器。
建议:

  • 不需要分词,就type设置为keywords

词库

ik分词器-热更新词库

image.png

同义词

3.倒排索引和分词 - 图23