簡體   English   中英

在elasticsearch中搜索數組的查詢

[英]query for searching array in elasticsearch

在Elasticsearch(5.3)中

我的文檔結構有三個字段是這樣的:

{
  x:55
  y:66
  z:44
}

我需要查詢此數組的查詢在我的文檔中:

 [[55,66,44],[45,68,95]]

等價於SQL語言:

  select * from table where (x=55 AND y=66 AND z=44) OR (x=45 AND y=68 AND z=95)

這樣的事情應該可以解決問題:

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                "term": {
                  "x": 55
                }
              },
              {
                "term": {
                  "y": 66
                }
              },
              {
                "term": {
                  "z": 44
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "term": {
                  "x": 45
                }
              },
              {
                "term": {
                  "y": 68
                }
              },
              {
                "term": {
                  "z": 95
                }
              }
            ]
          }
        }
      ]
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM