Как установить "search_type" в "count" в asticsearch-rails?

Вот запрос, который я хотел бы получить, работая с asticsearch-rails. (Запрос работает в Sense). Моя цель состоит в том, чтобы вернуть все корзины для предметов, у которых есть человек, чье имя начинается с буквы B. Мой первый камень преткновения заключается в том, что я не могу понять, как указать, что для search_type должно быть установлено значение count.

GET _search?search_type=count
{    
    "query": {
        "prefix": {
           "person": "B"
        }
   },
    "aggs" : {
        "facets" : {
            "terms" : {
                "field" : "person",
                "size" : 0,
                "order" : { "_term" : "asc" }
            }
        }
    }
}

1 ответ

Решение

Согласно этой проблеме, это пока не поддерживается.

Альтернатива, которая работает, это просто настройка size: 0 в вашем запросе, вот так:

{    
    "size": 0,                    <--- add this
    "query": {
        "prefix": {
           "person": "B"
        }
   },
    "aggs" : {
        "facets" : {
            "terms" : {
                "field" : "person",
                "size" : 0,
                "order" : { "_term" : "asc" }
            }
        }
    }
}

Стоит отметить, однако, что search_type=count будет объявлено устаревшим , теперь не рекомендуется в ES 2.0, и рекомендация будет size: 0 в вашем запросе, как указано выше. Это сделает вас совместимым с ES 2.0... по крайней мере для этого запроса, то есть:)

Другие вопросы по тегам