使用雪球分析仪进行错误比赛

时间:2015-10-30 06:48:02

标签: elasticsearch

我使用雪球分析仪来扼杀词语。但是这已经映射了“内部人”这些词。和"内部"同一词干" insid"这是完全错误的。我怎样才能在弹性搜索中改进这类词汇。

1 个答案:

答案 0 :(得分:0)

这就是雪球分析仪的工作原理。它太过激进了。根据我自己的经验,我倾向于使用修改后的English analyzer

  1. 我删除了stemmer过滤器,因为它过于激进了。就像雪球一样
  2. 我将其替换为kstem,这是一个轻量级的英文过滤器。干得好。
  3. 我添加了hunspell字典标记过滤器来规范化单词(而不是stemmer
  4. 我添加asciifolding过滤器来规范化字母,因此rôlerole之类的内容会相等。
  5. 就是这样:

    {
      "settings": {
        "analysis": {
          "filter": {
            "english_hunspell" : {
              "type" : "hunspell",
              "language" : "en_GB"
            },
            "english_stop": {
              "type":       "stop",
              "stopwords":  "_english_" 
            },
            "english_possessive_stemmer": {
              "type":       "stemmer",
              "language":   "possessive_english"
            }
          },
          "analyzer": {
            "english": {
              "tokenizer":  "standard",
              "filter": [
                "asciifolding",
                "english_possessive_stemmer",
                "lowercase",
                "english_stop",
                "kstem",
                "english_hunspell"
              ]
            }
          }
        }
      }
    }