java - 在 Elasticsearch 中结合缺失术语过滤器和范围检查

标签 java elasticsearch

在查询中将范围过滤器和缺失过滤器组合在一起时,我得到零结果。下面给出查询。我只有在单独组合缺失和范围时才会遇到这个问题,两者效果都很好。 对于更正查询或代码的任何帮助,我们表示赞赏。我是elasticsearch 1.7.3版本。

 {
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "bool": {
          "must": [
            {
              "bool": {
                "should": {
                  "missing": {
                    "field": "OrderData.XXXX.XXXXQueue"
                  }
                }
              }
            },
            {
              "range": {
                "OrderData.XXXX.priority": {
                  "from": 1,
                  "to": 5,
                  "include_lower": true,
                  "include_upper": true
                }
              }
            }
          ]
        }
      }
    }
  }
}

最佳答案

此查询能否获得预期结果?

 {
      "query": {
        "filtered": {
          "query": {
            "match_all": {}
          },
          "filter": {
            "bool": {
              "must": {
                "bool": {
                  "should": [{
                    "missing": {
                      "field": "OrderData.XXXX.XXXXQueue"
                    }
                  }, {
                    "range": {
                      "OrderData.XXXX.priority": {
                        "from": 1,
                        "to": 5,
                        "include_lower": true,
                        "include_upper": true
                      }
                    }
                  }]
                }
              }
            }
          }
        }
      }
    }

关于java - 在 Elasticsearch 中结合缺失术语过滤器和范围检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36416204/

相关文章:

java - SSLException : Connection has been shutdown:Operation timed out,

elasticsearch - 从 ESIntegTestCase 抛出 NullPointerException

elasticsearch - 如何使用 elasticsearch python 客户端创建连接关系

elasticsearch - ElasticSearch没有显示精确匹配的正确结果

elasticsearch - 删除 Elasticsearch 中除 one/some 之外的所有索引?

java - 将 java 属性传递给 javascript 函数数组参数

java - 检查我们是否可以将字符串分成两半并且两半相等?

java - 无法通过互联网连接到 ServerSocket

java - 检查字符串是否按顺序包含子字符串的字符序列,但不一定彼此相邻

performance - 为什么不通过在 elasticsearch 中设置刷新间隔来提高性能