gpt4 book ai didi

elasticsearch - 检查多个字段是否存在

转载 作者:行者123 更新时间:2023-12-02 22:16:28 24 4
gpt4 key购买 nike

The Elasticsearch Query DSL允许我查找具有特定字段的文档:

GET /_search
{
"query": {
"exists" : { "field" : "firstname" }
}
}

但似乎只对存在一个字段有效,如何检查是否存在 2 个字段?例如,我想找到同时拥有 firstname 的用户。和 lastname字段存在。

最佳答案

您可以通过包装 filter 中的两个存在来做到这一点。条款或 must条款如下:

{
"query": {
"bool": {
"filter": [
{
"exists": {
"field": "firstname"
}
},
{
"exists": {
"field": "lastname"
}
}
]
}
}
}

filter 中使用子句将给出与 must 相同的输出条款。唯一的区别是带过滤器的不会计算分数,而带过滤器的会计算分数。根据您的需要使用。有关此内容的更多信息,请阅读 this .

使用必须:
{
"query": {
"bool": {
"must": [
{
"exists": {
"field": "firstname"
}
},
{
"exists": {
"field": "lastname"
}
}
]
}
}
}

关于elasticsearch - 检查多个字段是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55526466/

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