2017-01-24 2 views
1

Я хотел бы получить минимальную цену от elasticsearch на основе какого-либо фильтра, такого как city_id и model_id. Таким образом, это возможно, без внесения цен вложенного документа.Elasticsearch найти минимальную цену на основе фильтра

Я пытаюсь выполнить этот запрос, но не буду работать, пожалуйста, помогите.

POST /myindex/mytype 
{ 
    "aggs": { 
    "min_price": { 
     "min": { 
     "field": "price" 
     } 
    } 
    } 
} 
+0

Вы должны удалить один вхождение в '«Aggs»' и он будет Работа. – Val

+0

@val Я удаляю aggs, но не работает. – truesource

+0

Пожалуйста, уточните свой вопрос и определите «не работает» – Val

ответ

1

Если я понял правильно, вы хотите, чтобы минимальный по цене документ на основе фильтра, если это ваш запрос должен быть как:

POST /myindex/mytype/_search 
{ 
    "sort": { 
    "price": "asc" 
    }, 
    "size": 1, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "term": { 
       "city_id": "123" 

      } 
     } 
     ] 
    } 
    } 
} 
+0

, но как мы находим минимальную цену в этом запросе. – truesource

+0

локон -XGET "HTTP: // локальный: 9200/myindex/_search довольно = 1?" -d» { "размер": 0, "запрос": { "BOOL": { "сусло": [ { "термин": { "CITY_ID": "123" } } ] } } "агрегаты": { "minimum_price": { "мин": { "поле" : «цена» } } } } «это работает для меня. – truesource

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