ElasticSearch 多词同义词

ElasticSearch Multiword synonyms

我有带同义词的分析器

{
  "settings": {
    "analysis": {
      "filter": {
        "synonyms": {
          "type": "synonym", 
      "synonyms": [
        "st,str,street",             
        "district of columbia,dc"
      ]
    }
      },
      "analyzer": {
        "synonyms": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "synonyms" 
          ]
        }
      }
    }
  }
}

如果我 运行 分析 "street",它告诉我 "st" 和 "str" 是同义词。

但是如果我 运行 在 "DC" 上,它告诉我 "district"、"of" 和 "columbia" 是同义词。

如何使 "DC" 和 "District of Columbia" 成为同义词?

提供以下同义词:

"filter": {
    "synonyms": {
      "type": "synonym", 
      "synonyms": [
         "st,str,street",             
          "district of columbia,dc=>dc"
       ]
    }
}

请查看reference了解更多详情

您可以将 analyzer.tokenizer 更改为 "keyword"、

"analyzer": {
    "synonyms": {
      "tokenizer": "keyword",
      "filter": [
        "lowercase",
        "synonyms" 
      ]
    }
  }

这将 "district of columbia" 视为单个实体并映射到 "DC"