【问题标题】:Synonym token filter同义词标记过滤器
【发布时间】:2020-04-01 17:21:53
【问题描述】:

我用同义词标记过滤器创建了一个测试索引

 PUT /synonyms-index
{

"settings": {

"analysis": {

"filter": {

"my_synonym_filter": {

"type": "synonym",

"synonyms": [

"shares","equity","stock"

]

}

},

"analyzer": {

"my_synonyms": {

"tokenizer": "standard",

"filter": [

"lowercase",

"my_synonym_filter"

]

}

}

}

}

}

然后我运行了分析 API,

post synonyms-index/_analyze
{
"analyzer":"my_synonyms",
"text":"equity awesome"
}

我收到以下回复,以查看哪些标记进入倒排索引,并且我期待需要根据同义词规则添加“shares”和“stock”,但似乎并非如此。我这里有什么遗漏吗?

{
  "tokens": [
    {
      "token": "equity",
      "start_offset": 0,
      "end_offset": 6,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "awesome",
      "start_offset": 7,
      "end_offset": 14,
      "type": "<ALPHANUM>",
      "position": 1
    }
  ]
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    为社区发布答案-

    这是 JSON 的常见陷阱,

    我们需要把它写成 ( 把所有东西放在一个双引号中,这符合一个规则,它遵循简单的扩展。)

    "synonyms": [ "shares,equity,stock" ]
    

    而不是

    "synonyms": [
    
    "shares","equity","stock"
    
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-17
      • 2019-05-10
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      相关资源
      最近更新 更多