我有一个示例购物应用程序,我想创建搜索页面使用elasticsearch,当用户搜索特定的产品,例如" iphone“,然后显示所有iphone产品。但是,我想推广产品显示在搜索结果的顶部。这更像是推广产品,当我推广特定的产品时,它会显示在搜索结果的顶部。
elasticsearch如何做到这一点呢?
发布于 2018-06-13 18:04:08
在Elasticsearch中,有许多关于如何实现这一点的文档,因为这是搜索者的典型需求。我会建议你尝试制作你自己的提升相关性函数。
像这样:
{
"query": {
"function_score": {
"filter": {
"term": { "content": "mobile" }
},
"functions": [
{
"filter": { "term": { "brand": "Apple" }},
"weight": 4
}
],
"score_mode": "sum",
}
}
}这里是最新的文档:FunctionScoring
另外,作为一个提示,可能绝对值得去看看Relevance chapter,了解ES是如何尝试按相关性对结果进行排序的。
https://stackoverflow.com/questions/50830646
复制相似问题