Link Search Menu Expand Document Documentation Menu

分析器

在索引和搜索操作期间,analyzer 映射参数用于定义应用于文本字段的文本分析过程。

analyzer 映射参数的主要功能包括:

  1. 分词: 分析器决定文本如何分解成可被索引和搜索的单个词元(单词、数字)。每个生成的词元不得超过 32,766 字节,以避免索引失败。

  2. 标准化: 分析器可以应用各种标准化技术,例如将文本转换为小写、删除停用词以及词干提取/词形还原。

  3. 一致性: 通过为索引和搜索操作定义相同的分析器,您可以确保文本分析过程的一致性,这有助于提高搜索结果的相关性。

  4. 自定义: OpenSearch 允许您通过指定要使用的分词器、字符过滤器和词元过滤器来定义自定义分析器。这使您可以对文本分析过程进行细粒度控制。

有关特定分析器参数(例如 analyzersearch_analyzersearch_quote_analyzer)的信息,请参阅搜索分析器


示例

以下示例配置定义了一个名为 my_custom_analyzer 的自定义分析器

PUT my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_custom_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_stop_filter",
            "my_stemmer"
          ]
        }
      },
      "filter": {
        "my_stop_filter": {
          "type": "stop",
          "stopwords": ["the", "a", "and", "or"]
        },
        "my_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "my_text_field": {
        "type": "text",
        "analyzer": "my_custom_analyzer",
        "search_analyzer": "standard",
        "search_quote_analyzer": "my_custom_analyzer"
      }
    }
  }
}

在此示例中,my_custom_analyzer 使用标准分词器,将所有词元转换为小写,应用自定义停用词过滤器,并应用英语词干提取器。

然后,您可以映射一个文本字段,使其在索引和搜索操作中都使用此自定义分析器

"mappings": {
  "properties": {
    "my_text_field": {
      "type": "text",
      "analyzer": "my_custom_analyzer"
    }
  }
}

剩余 350 字符

有问题?

想做贡献?