gpt4 book ai didi

python - 您可以订购 Elasticsearch 查询结果吗?如果字段中为True,则强制将其结尾

转载 作者:行者123 更新时间:2023-12-03 01:31:00 24 4
gpt4 key购买 nike

我正在执行ES查询

data = es.search(index='indexName', size=10000,body={"query": {"exists": {"field": "field_name"}}})

但是我希望结果重新排序,如果它具有另一个称为 'reviewed'的字段设置为 True

如果为True,则应移至末尾。查询被输入表中。
item    reviewed
-----------------
apple [x] <----check boxes
pear [ ]
banana [ ]

[ submit ]

然后在重新加载
item    reviewed
-----------------
pear [ ]
banana [ ]
apple [ ]

[ submit ]

最佳答案

您应该做的就是简单地使用bool / should子句将reviewed设置为false的文档,如下所示:

{
"query": {
"bool": {
"must": {
"exists": {
"field": "field_name"
}
},
"should": {
"term": {
"reviewed": false
}
}
}
}
}

将会发生的事情是,所有具有名为 field_name的字段的文档都将被匹配,但是所有将 reviewed设置为false的文档都将比那些将 reviewed设置为true的文档更高。

关于python - 您可以订购 Elasticsearch 查询结果吗?如果字段中为True,则强制将其结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55945567/

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