带有模糊性的多个字段上的ElasticSearch multi_match查询
如何为模糊匹配查询添加模糊性?因此,如果有人要搜索“棒球”,它仍然会找到“棒球”文章。目前,我的查询如下所示:
POST /newspaper/articles/_search{
"query": {
"function_score": {
"query": {
"multi_match": {
"query": "baseball",
"type": "phrase",
"fields": [
"subject^3",
"section^2.5",
"article^2",
"tags^1.5",
"notes^1"
]
}
}
}
}
}
我正在寻找的一种选择是执行类似的操作,只是不知道这是否是最佳选择。保持基于评分的排序很重要:
"query" : { "query_string" : {
"query" : "subject:basball^3 section:basball^2.5 article:basball^2",
"fuzzy_prefix_length" : 1
}
}
有什么建议吗?
回答:
要将模糊性添加到多查询中,您需要按以下说明添加模糊性属性:
{ "query": {
"function_score": {
"query": {
"multi_match": {
"query": "baseball",
"type": "phrase",
"fields": [
"subject^3",
"section^2.5",
"article^2",
"tags^1.5",
"notes^1"
],
"fuzziness" : "AUTO",
"prefix_length" : 2
}
}
}
}
}
请注意,文档中的 解释为:
不会被“模糊化”的初始字符数。这有助于减少必须检查的术语数量。预设为0。
要检查
的可能值,请访问ES文档。
以上是 带有模糊性的多个字段上的ElasticSearch multi_match查询 的全部内容, 来源链接: utcz.com/qa/433300.html