ElasticSearch NEST - Search on multiple types but apply filter on selected Type alone -
i looking achieve single query search , filtering. expected when applied filtering, filter condition applied types got result of document have filtered property , value .
for example,
here searched in 3 types (product,category,manufacturer)
get /my-index/product,category,manufacturer/_search { "query": { "filtered": { "query": {...}, //--> search word present in types "filter": { "term": { "productfield": "value" } } } } }
here got result of product type because product type contains field 'productfield' , has value 'value'.
what expecting is, with single query, fetch types results(product,category,manufacturer), satisfying search query , apply filtering on product.
so doubt
is there way in elastic search apply filtering on specific type search results alone applying types?
yes, can use type
query achieve that. in filter, have bool/should
clause selects either category
or manufacturer
without other conditions, or product
documents having productfield: value
:
post /my-index/product,category,manufacturer/_search { "query": { "filtered": { "query": {}, "filter": { "bool": { "minimum_should_match": 1, "should": [ { "type": { "value": "category" } }, { "type": { "value": "manufacturer" } }, { "bool": { "must": [ { "type": { "value": "product" } }, { "term": { "productfield": "value" } } ] } } ] } } } } }
Comments
Post a Comment