elasticsearch - 当存在品牌术语匹配时搜索产品索引并优先考虑结果
问题描述
在谈到弹性搜索(6.5)时,我是一个新手,所以如果我以前无法找到这个问题,也许是术语不好,请提前道歉?
我正在尝试从我的索引中返回与一个简单的广义术语匹配的结果,但是如果索引中的某个品牌匹配,我希望将其播种到结果的顶部。我已经尝试了许多不同的查询组合,但到目前为止我的进展如下:
"index": "products",
"from": 0,
"size": 300,
"body": {
"query": {
"bool": {
"should": [{
"function_score": {
"query": {
"multi_match": {
"query": "jacket bontrager",
"fields": ["title", "brand"],
"operator": "and"
}
},
"boost": 3
}
}, {
"function_score": {
"query": {
"multi_match": {
"query": "jacket bontrager",
"fields": ["title", "brand"],
"fuzziness": 1,
"operator": "and"
}
},
"boost": 2
}
}, {
"function_score": {
"query": {
"multi_match": {
"query": "bontrager",
"fields": ["brand"],
"fuzziness": 1,
"operator": "and"
}
},
"boost": 3
}
}]
}
}
}
}
为什么不考虑升压数字?
结果顺序是这样的:
- 耐力夹克
- 狐狸夹克
- Bontrager 夹克
我在正确的轨道附近吗?
解决方案
推荐阅读
- javascript - 如何使用nodejs在elasticsearch中的聚合中使用自定义脚本
- django - 打印具有所有属性的所有记录
- c# - 相隔 X 分钟返回 LINQ 列表
- aws-elasticsearch - AWS elastic search cluster becoming unresponsive
- pg-promise - How to handle idle_in_transaction_session_timeout?
- react-native - Extension host terminated unexpectedly while debugging React-native project
- c - Multiple Definition Error in Static Library Project
- python - TypeError when converting to sparse matrix
- mysql - PHP MyAdmin syntax error in declaring Date variable
- node.js - Maintain a custom order/sort of documents in MongoDB