Elasticsearch自定义分析器
关于分析器 ES中默认使用的是标准分析器(standard analyzer)。如果需要对某个字段使用其他分析器,可以在映射中该字段下说明。例如: PUT /my_index { "mappings": { "blog": { "properties": { "title": { "type": "string", "fields": { "english": { "type": "string", "analyzer": "english" } } } } } } } 在上面: 主 title 字段使用 `standard`(标准)分析器。 title.english 子字段使用 `english`(英语)分析器。 关于自定义分析器 自定义分析器基于标准分析器(或其他ES已有的分析器),通过搭配字符过滤器、分词器和词单元过滤器,添加特定的配置,达到提高查询效果的作用。 1 字符过滤器 很多时候,我们需要处理的文本会是除了干净文本之外的任何文本。例如HTML文本直接进行分词会得到糟糕的效果。因此在分词之前整理文本会提升输出结果的质量。 HTML分词 业务不涉及,略 整理标点符号 可能也不需要。 2 分词器 standard 分词器 使用 Unicode 文本分割算法。它是大多数语言分词的一个合理的起点,特别是西方语言。 3 词汇单元过滤器 值得注意的是,当使用多个过滤器