我在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"
}
暂无答案!
目前还没有任何答案,快来回答吧!