gpt4 book ai didi

elasticsearch - Elasticsearch : General and conditional filters

转载 作者:行者123 更新时间:2023-11-29 02:56:16 25 4
gpt4 key购买 nike

我正在使用 Elastic Search,具有查询 match_all 和过滤功能。在我的情况下,我想应用一般过滤器和按条件过滤。

此处为伪:

  1. 查询:匹配所有(工作正常)
  2. 过滤 d1 和 d2 之间的范围日期(没有项目符号 3 也能正常工作)
  3. 过滤(仅当字段存在时应用,但如何?)
  4. 等等

请看下面的代码。如果“组”字段存在,我只想应用“组”过滤器!在这种情况下,“存在”过滤器不会生效。

    "query":
{
"filtered":
{
"query":
{
"match_all": {}
},
"filter":
{
"bool":
{
"must":
{
"range":
{
"date": {
"from": "2015-06-01",
"to": "2015-06-30"
}
}

},
"must_not":
{
"term":
{
"e.state": 0
}
}
}
},
"filter":
{
"bool":
{
"must":
{
"exists": {"field": "groups"},
"filter":
{
"bool":
{
"must":
{
"term": {"groups.sex": "w"}
},
"should":
{
"terms": {"groups.categories.id": [7,10]}
}
}
}
}
}
}
}
}
}

最佳答案

试试这个

{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"range": {
"date": {
"from": "2015-06-01",
"to": "2015-06-30"
}
}
},
{
"bool": {
"should": [
{
"missing": {
"field": "groups"
}
},
{
"bool": {
"must": {
"term": {
"groups.sex": "w"
}
},
"should": {
"terms": {"groups.categories.id": [7,10]}
}
}
}
]
}
}
],
"must_not": {
"term": {
"e.state": 0
}
}
}
}
}
}
}

关于elasticsearch - Elasticsearch : General and conditional filters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652019/

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