首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch多词同义词

ElasticSearch多词同义词
EN

Stack Overflow用户
提问于 2016-03-14 15:55:02
回答 2查看 669关注 0票数 1

我有带有同义词的分析器

代码语言:javascript
复制
{
  "settings": {
    "analysis": {
      "filter": {
        "synonyms": {
          "type": "synonym", 
      "synonyms": [
        "st,str,street",             
        "district of columbia,dc"
      ]
    }
      },
      "analyzer": {
        "synonyms": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "synonyms" 
          ]
        }
      }
    }
  }
}

如果我对“街道”进行分析,就会发现"st“和"str”是同义词。

但是如果我用的是"DC",它给了我“区”、"of“和"columbia”的同义词。

如何使"DC“和”哥伦比亚特区“同义词?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-14 17:31:49

提供同义词如下:

代码语言:javascript
复制
"filter": {
    "synonyms": {
      "type": "synonym", 
      "synonyms": [
         "st,str,street",             
          "district of columbia,dc=>dc"
       ]
    }
}

请查看参考文献以获得更多详细信息

票数 1
EN

Stack Overflow用户

发布于 2019-05-27 06:51:34

您可以将analyzer.tokenizer更改为“关键字”,

代码语言:javascript
复制
"analyzer": {
    "synonyms": {
      "tokenizer": "keyword",
      "filter": [
        "lowercase",
        "synonyms" 
      ]
    }
  }

这将“哥伦比亚特区”视为一个单一实体,并映射到"DC“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35992218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档