瑞典分析仪使用了哪些关键字?

时间:2018-05-15 12:46:34

标签: elasticsearch

在弹性搜索文档的this part上,它说瑞典语分析器可以像这样重新实现:

PUT /swedish_example
{
  "settings": {
    "analysis": {
      "filter": {
        "swedish_stop": {
          "type":       "stop",
          "stopwords":  "_swedish_" 
        },
        "swedish_keywords": {
          "type":       "keyword_marker",
          "keywords":   ["exempel"] 
        },
        "swedish_stemmer": {
          "type":       "stemmer",
          "language":   "swedish"
        }
      },
      "analyzer": {
        "swedish": {
          "tokenizer":  "standard",
          "filter": [
            "lowercase",
            "swedish_stop",
            "swedish_keywords",
            "swedish_stemmer"
          ]
        }
      }
    }
  }

我的问题是,该分析器如何识别关键字?当然,关键字可以在settings.analysis.filter.swedish_keywords.keywords字段中定义,但如果我懒得这么做呢? Elasticsearch是否会查看预定义瑞典语关键字的其他一些关键字列表?因为在上面的示例中,看起来设置中没有提供此类列表。

换句话说,是否仅由我来定义关键字,或者Elasticsearch是否会查看其他列表以默认查找关键字?

1 个答案:

答案 0 :(得分:1)

是的,您需要由您指定此列表。否则,此过滤器不会任何

根据Elasticsearch的文档:

  

关键字标记令牌过滤器

     

保护单词不被词干分析者修饰。必须放在之前   任何堵塞过滤器。

或者,您可以指定:

keywords_path
  

路径(相对于配置位置,或绝对路径)到列表   词语的

keywords_pattern
  

正则表达式模式以匹配文本中的单词。

有关此过滤器的详细信息 - https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-keyword-marker-tokenfilter.html