Common Grams Token Filter(近义词词元过滤器)

原文链接 :https://www.elastic.co/guide/en/elasticsearch/reference/5.4/analysis-common-grams-tokenfilter.html

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10028048

贡献者 : 李亚运ApacheCNApache中文网

简述

此过滤器,用于为经常出现的术语生成二进制码。 单项仍被索引。 当我们不想完全忽略常用术语时,它可以用作“ 停止令牌过滤器”的替代方法。如”the quick brown is a fox”,将被过滤成 “the”, “the_quick”, “quick”, “brown”, “brown_is”, “is_a”, “a_fox”, “fox”。假设“the”,“is”和“a”是常用词。

当启用query_mode时,过滤器将删除常用单词和单个术语,后跟通用单词。 应在搜索分析器中启用此参数。如,”the quick brown is a fox” 将被过滤成 “the_quick”, “quick”, “brown_is”, “is_a”, “a_fox”, “fox”。

参数

以下是常用设置:

设置 描述
common_words 要使用的常用词列表。
common_words_path 路径(相对于config位置,或绝对)到常用单词列表。 每个单词应该在自己的“行”(用换行符分隔)。 该文件必须是UTF-8编码。
ignore_case 如果为真,通用单词匹配将不区分大小写(默认为false )。
query_mode 生成二进制,然后删除常用单词和单个术语,后跟一个通用单词(默认为false )。

注意, common_wordscommon_words_path字段是必需的。

示例

如下所示:

  1. index :
  2. analysis :
  3. analyzer :
  4. index_grams :
  5. tokenizer : whitespace
  6. filter : [common_grams]
  7. search_grams :
  8. tokenizer : whitespace
  9. filter : [common_grams_query]
  10. filter :
  11. common_grams :
  12. type : common_grams
  13. common_words: [a, an, the]
  14. common_grams_query :
  15. type : common_grams
  16. query_mode: true
  17. common_words: [a, an, the]