[英]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.