如何处理多词查询?

vhipe2zx  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(208)

我在elasticsearch中添加了wordnet同义词,对于单词来说效果很好,尽管我不能正确处理多单词查询。例如,如果我搜索“医生”,一切正常,但是如果我搜索“女医生”,我没有结果,但是我想返回同义词给医生和女人-如果我把标记符从“关键字”改为“经典”,我会得到两个结果,但它会破坏空白的结果,然后医生的同义词“furbish up”变成了“furbish”和“up”,我不想这样。
我怎样才能处理好这件事?我如何打破对空白的查询,而不是结果?
以下是我的设置:

PUT http://elastic:username@password:9200/tags

{
   "settings": {
      "analysis": {
         "analyzer": {
            "my_synonyms": {
               "tokenizer": "keyword",
               "filter": ["synonym"]
            }
         },
         "filter": {
            "synonym": {
               "type": "synonym_graph",
               "tokenizer": "keyword",
               "format": "wordnet",
               "synonyms_path": "analysis/wn_s.pl"
            }
         }
      }
   }
}

我用这种方法测试分析仪:

GET http://elastic:username@password:9200/tags/_analyze

{
  "analyzer": "my_synonyms",
  "text": "doctor woman"
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题