gpt4 book ai didi

sorting - 过滤然后在ElasticSearch中按查询对结果进行排序

转载 作者:行者123 更新时间:2023-12-03 02:04:50 24 4
gpt4 key购买 nike

ElasticSearch中有没有一种方法可以运行 bool(boolean) 过滤器,然后无需进一步重新定义搜索,而是基于multi_field查询对结果进行排序/排序?

例如:获取所有带有status_id = 1的项目(过滤器),然后使用关键字“red car”(那些namedescription包含这些关键字的文档排在第一位,没有doct的文档排在最后)来订购这些文档。

最佳答案

您可以使用 bool(boolean) 查询-
根据应-

The clause (query) should appear in the matching document. In a boolean query with no must clauses, one or more should clauses must match a document. The minimum number of should clauses to match can be set using the minimum_should_match parameter.



在我们的示例中,由于必须存在且其数字匹配,因此不会计算得分值。但是然后应使用条件in单独计算分数-
{
"query": {
"bool": {
"must": [
{
"match": {
"status_id": 1
}
}
],
"should": [
{
"multi_match": {
"query": "red car",
"fields": [
"subject",
"message"
]
}
}
]
}
}
}

关于sorting - 过滤然后在ElasticSearch中按查询对结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27726259/

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