2015-11-16 2 views

ответ

1

Для примера рассмотрим следующие SQL-запрос,

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

В этих ситуациях, вам понадобится фильтр bool. Это составной фильтр, который принимает другие фильтры в качестве аргументов, объединяя их в различные логические комбинации.

Запросов 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/en/elasticsearch/guide/current/combining-filters.html

Смежные вопросы