1

У меня есть индекс с несколькими типами, как показано ниже:Упругие поиск постраничного на несколько типов в индексе

  • песни
  • книги
  • фильмов

Я строю API предложившего индексированные элементы, сгруппированные по их типу. Проблема заключается в том, что я хочу иметь функциональность size внутри каждой агрегации. Как и метод completion suggester, который возвращает точное количество элементов для Каждый тип. В итоге у меня был подход с несколькими индексами для запроса каждого типа отдельно. Есть ли лучший подход для этого?

ответ

1

Каждое указанное агрегирование может иметь связанный с ним фильтр, поэтому вы могли бы уменьшить контекст агрегации до определенного типа таким образом. Кроме того, вы можете использовать filters агрегации создать ведра для каждого фильтра, и запустить агрегацию с определенным размером на каждый суб-ведре, как это:

GET /_search { "aggs": { "alltypes": { "filters": { "filters": { "songs": {"term": {"_type": "songs"}}, "books": {"term": {"_type": "books"}}, "movies": {"term": {"_type": "movies"}} } }, "aggs": { ... your aggregation for each individual type here ... } } } }

Больше информации о filters агрегации может можно найти на http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filters-aggregation.html

Хотелось бы надеяться, что помогает, дайте мне знать, если я неправильно понял ваш вопрос (это было мало уверенности в том, что вы говорили о suggestors или агрегатах, так в упомянутом вопросе были упомянуты).

+1

Спасибо, мне точно нужно решение для агрегации с определенным количеством размеров на каждом ковше. –

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