在我将同义词文件添加到索引后,模糊性停止了工作。看来,它们不可能同时使用它们。 我的问题:
"query": {
"dis_max": {
"queries": [{
"multi_match": {
"query": $('#searchterm').val(),
"fields": ["search_1"],
"fuzziness": "AUTO",
"operator": "and",
"max_expansions": 1
}},
{ "match": { "search_2": $('#searchterm').val() }}
]
}
}
映射:
"mappings": {
"objs":{
"properties": {
"o":{
"type": "string"
},
"loc":{
"type":"geo_point"
},
"search_1":{
"type": "string",
"analyzer": "synonym"
},
"search_2":{
"type": "string",
"analyzer": "synonym"
}
}
}
答案 0 :(得分:0)
我只是遇到了同样的问题,而且似乎无法混合使用,有人为此打开了一个github问题:https://github.com/elastic/elasticsearch/issues/25518该问题已关闭,他们更新了文档: https://github.com/elastic/elasticsearch/blob/master/docs/reference/query-dsl/match-query.asciidoc
这是有趣的部分:
请注意,模糊匹配不适用于具有同义词的术语,例如 这些术语在引擎盖下扩展为特殊的同义词查询 混合了词频,不支持模糊扩展。