2016-12-23 2 views
-1

У меня есть запрос в Elastic search, чтобы получить уникальные значения для определенного поля. Как получить уникальные значения, используя предложение where. где field1: хуг, field2: YZX и т.д.Упругие agfregations получают uniq значение где предложение

{ 
"size": 20, 
"aggs" : { 
    "pf" : { 
     "terms" : { "field" : "platform" } 
    } 
}} 

ответ

0

Я думаю, что вы ищете агрегаты с фильтрами

{ 
    "size":0, // <-- If you are using ES 2.0 or above, setting size=0 will only return aggregations and no results 
    "query": { 
     "filtered": { 
      "query": { 
       "match_all": {} 
      }, 
      "filter": { 
       "bool": { 
        "must": [{ 
         "term": { 
          "field1": "xyz" 
         } 
        }, { 
         "term": { 
          "field2": "abc" 
         } 
        }] 
       } 
      } 
     } 
    }, 
    "aggregations": { 
     "pf": { 
      "terms": { 
       "field": "platform" 
      } 
     } 
    } 
} 
+0

Спасибо за обновление. У меня есть еще один небольшой запрос. Получая уникальное поле платформы, я получаю все документы. Как получить только значения платформы, чтобы уменьшить время отклика. – venkat

+0

Хорошо. Получил это. Спасибо – venkat

+0

@venkat, пожалуйста, примите ответ, если он решает ваши проблемы. – Rahul

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