gpt4 book ai didi

elasticsearch - 基于某些字段的ElasticSearch结果排序(相关分数)(增强)

转载 作者:行者123 更新时间:2023-12-03 01:26:32 27 4
gpt4 key购买 nike

我使用ElasticSearch 6.6。我的应用程序通过从不同数据源提取数据来构建ES索引。搜索未指定数据源。它只是建立一个类似的查询:

GET employerdata/_search
{
"query":
{
"bool": {
"must": [
{ "match" : {"name" : {
"query": "WALMART",
"fuzziness": "3"
}}},
{ "match" : {"state" : "TX"}}
]
}
}

}

有一个名为“dataSource”的字段。但是,它不用于构建查询。但是,这是结果的一部分。基本上,我想在构建查询时隐式地使用此字段。例如,如果文档的“dataSource”等于“A”,则文档应位于结果集的顶部。换句话说,我想基于字段“dataSource”提高得分。但是,即使文档是来自其他“数据源”(例如“B”)的索引,我仍然希望获得结果。

最佳答案

要在@ apt-get_install_skill答案之上添加。如果在查询时需要提升而不是建立索引。您可以使用function_score

GET employer/_search
{
"query": {
"function_score": {
"query": {
"match_all": {}
},
"functions": [
{
"filter": {
"match": {
"dataSource": "B"
}
},
"weight": 2
}
]
}
}
}

关于elasticsearch - 基于某些字段的ElasticSearch结果排序(相关分数)(增强),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58068321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com