elasticsearch 弹性搜索中的精确匹配如何优于多重匹配
我正在运行以下查询,以在弹性搜索中提高精确匹配而不是多匹配。但是,没有得到预期的结果 我的目标是按以下顺序提升:“java开发者”>java和开发者>java或开发者 有人能帮忙解决这个问题吗?需要知道如何在此处增强match_短语,以及如何在match_短语中添加剩余字段
elasticsearch 弹性搜索中的精确匹配如何优于多重匹配,
elasticsearch,lucene,
elasticsearch,Lucene,我正在运行以下查询,以在弹性搜索中提高精确匹配而不是多匹配。但是,没有得到预期的结果 我的目标是按以下顺序提升:“java开发者”>java和开发者>java或开发者 有人能帮忙解决这个问题吗?需要知道如何在此处增强match_短语,以及如何在match_短语中添加剩余字段 “查询”:{ “布尔”:{ “必须”:[ { “多重匹配”:{ “查询”:“java开发者”, “字段”:[ “头衔”, “内容”, “标签”, “摘要” ] } } ], “应该”:[ { “匹配短语”:{ “标题”:“j
“查询”:{
“布尔”:{
“必须”:[
{
“多重匹配”:{
“查询”:“java开发者”,
“字段”:[
“头衔”,
“内容”,
“标签”,
“摘要”
]
}
}
],
“应该”:[
{
“匹配短语”:{
“标题”:“java开发人员”
}
},
{
“多重匹配”:{
“查询”:“java开发者”,
“字段”:[
“头衔”,
“内容”,
“标签”,
“摘要”
],
“操作员”:“和”,
“推动”:4
}
}
]
}
}
非常感谢您的帮助。以下是对我有效的方法:
“查询”:{
“布尔”:{
“必须”:[
{
“多重匹配”:{
“查询”:“java开发者”,
“字段”:[
“头衔”,
“内容”,
“标签”,
“摘要”
]
}
}
],
“应该”:[
{
“多重匹配”:{
“查询”:“java开发者”,
“字段”:[
“头衔”,
“内容”,
“标签”,
“摘要”
],
“类型”:“短语”,
“提高”:10
}
},
{
“多重匹配”:{
“查询”:“java开发者”,
“字段”:[
“头衔”,
“内容”,
“标签”,
“摘要”
],
“操作员”:“和”,
“推动”:4
}
}
]
}
}
将多重匹配查询的类型设置为:
“查询”:{
{
“多重匹配”:{
“查询”:“java开发者”,
“类型”:“最佳字段”,
“字段”:[“标题”、“内容”、“标记”、“摘要”]
}
}
}
可能重复我想你误解了这个问题。大多数_字段都没有帮助,因为要求的是匹配查询的多个术语,而不是文档的多个字段。