Language Analyzers(语言分析器)

一组用于分析特定语言文本的分析器。 支持以下类型:arabicarrow-up-right, armenianarrow-up-right, basquearrow-up-right, brazilianarrow-up-right, bulgarianarrow-up-right, catalanarrow-up-right, cjkarrow-up-right,czecharrow-up-right, danisharrow-up-right, dutcharrow-up-right, englisharrow-up-right, finnisharrow-up-right, frencharrow-up-right, galicianarrow-up-right, germanarrow-up-right, greekarrow-up-right, hindiarrow-up-right,hungarianarrow-up-right, indonesianarrow-up-right, irisharrow-up-right, italianarrow-up-right, latvianarrow-up-right, lithuanianarrow-up-right, norwegianarrow-up-right, persianarrow-up-right,portuguesearrow-up-right, romanianarrow-up-right, russianarrow-up-right, soraniarrow-up-right, spanisharrow-up-right, swedisharrow-up-right, turkisharrow-up-right, thaiarrow-up-right.

配置语言分析仪

Stopwords(停止词)

所有分析仪都支持在配置内部设置自定义停用词,也可以通过设置stopwords_path来使用外部的停用词。 检查Stop Analyzer了解更多详细信息。

Excluding words from stemming(排除词干)

stem_exclusion参数允许您指定不应该被阻止的小写字母数组。 在内部,通过将关键字设置为该值的keyword_marker token filter 来实现此功能

Reimplementing language analyzers(重新实现语言分析器)

内置语言分析器可以作为custom analyzers(如下所述)重新实现,以便自定义其行为。

笔记:如果您不打算排除单词被干扰(相当于上面的stem_exclusion参数),那么您应该从custom analyzer配置中删除keyword_marker token filter。

arabic 分析器

arabic 分析器可以如以下定制分析仪重新实现:

{
  "settings": {
    "analysis": {
      "filter": {
        "arabic_stop": {
          "type":       "stop",
          "stopwords":  "_arabic_"  # 1
        },
        "arabic_keywords": {
          "type":       "keyword_marker",
          "keywords":   []          # 2
        },
        "arabic_stemmer": {
          "type":       "stemmer",
          "language":   "arabic"
        }
      },
      "analyzer": {
        "arabic": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "arabic_stop",
            "arabic_normalization",
            "arabic_keywords",
            "arabic_stemmer"
          ]
        }
      }
    }
  }
}

可以使用无效词或stopwords_path参数覆盖默认的停用词。

应该删除此过滤器,除非有字词应该排除在干扰之外。

armenian 分析器

分析器可以如以下定制分析仪重新实现:

语言分词器大同小异: 其他的请看官方文档:Language Analyzersarrow-up-right

Last updated

Was this helpful?