Custom Analyzer(自定义分析器)

当内置分析器不能满足您的需求时,您可以创建一个custom分析器,它使用以下相应的组合:

配置

custom(自定义)分析器接受以下的参数:

tokenizer

内置或定制的标记器。 (需要)

char_filter

内置或自定义字符过滤器的可选阵列。

filter

可选的内置或定制token过滤器阵列。

position_increment_gap

在索引文本值数组时,Elasticsearch会在一个值的最后一个值和下一个值的第一个项之间插入假的“间隙”,以确保短语查询与不同数组元素的两个术语不匹配。 默认为100.有关更多信息,请参阅position_increment_gap

配置示例

以下是一个结合以下内容的示例:

字符过滤器

分词器

Token 分析器

上述句子将产生以下词语:

前面的例子使用了默认配置的tokenizer,令牌过滤器和字符过滤器,但是可以创建每个配置的版本并在自定义分析器中使用它们。

以下是一个比较复杂的例子:

字符过滤器

Token 分析器

示例

表情符号字符过滤器,标点符号化器和english_stop令牌过滤器是在相同索引设置中定义的自定义实现。

以上示例产生以下词语:

Last updated

Was this helpful?