簡體   English   中英

如何在Elasticsearch中查詢多個字段?

[英]How to query on multiple fields in elasticsearch?

我試過多字段查詢,它工作正常。 但是我想知道在Elasticsearch中通常使用哪些其他選項來查詢多個字段?

具有多個術語的結構化查詢,用於查找確切值,與SQL相同

https://www.elastic.co/guide/zh-CN/elasticsearch/guide/current/_finding_multiple_exact_values.html

"bool" : {
                    "must" : [
                        { "term" : { "tags" : "search" } }, 
                        { "term" : { "tag_count" : 1 } } 
                    ]
                }

例如,考慮以下sql查詢,

SELECT product
FROM   products
WHERE  (price = 20 OR productID = "XHDK-A-1293-#fJ3")
  AND  (price != 30)

在這些情況下,您將需要布爾過濾器。 這是一個復合過濾器,它接受其他過濾器作為參數,將它們組合成各種布爾組合。

查詢DSL是

GET /my_store/products/_search
{
   "query" : {
      "filtered" : { 
         "filter" : {
            "bool" : {
              "should" : [
                 { "term" : {"price" : 20}}, 
                 { "term" : {"productID" : "XHDK-A-1293-#fJ3"}} 
              ],
              "must_not" : {
                 "term" : {"price" : 30} 
              }
           }
         }
      }
   }
}

請點擊以下鏈接獲取文檔https://www.elastic.co/guide/zh-CN/elasticsearch/guide/current/combining-filters.html

暫無
暫無

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

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