2015-03-13 4 views
0

Я использую пример приложения из github.com/searchly/searchly-php-sample с помощью службы Searchly.elasticsearch возвращает все найденные агрегаты

Я пришел просто, когда хочу, чтобы результаты поиска возвращали все скопления (продолжение как «aggs») из результатов поиска, а не только те, которые я указал.

В настоящее время код для Aggs является:

$searchParams['body']['aggs']['resolution']['terms']['field'] = 'resolution'; 

это возвращает разрешение AGG, но я не могу найти путь для того, чтобы вернуть все возможные Aggs из результатов поиска.

Возможно ли это или требуется, чтобы я сохранил aggs где-то, а затем просто перечислил их, когда я выполняю фактический запрос на поиск?

Спасибо!

+0

Я не понимаю этот вопрос вообще. Можете ли вы попытаться объяснить, что вы подразумеваете под возвратом «всех» скоплений? –

+0

Из исходного документа у меня есть «$ searchParams ['body'] ['aggs'] ['ram'] ['terms'] ['field'] = 'ram'; $ searchParams ['body'] [' aggs '] [' hard_drive '] [' terms '] [' field '] =' hard_drive '; $ searchParams [' body '] [' aggs '] [' core '] [' terms '] [' field ' ] = 'core'; «Это возвращает эти 3 фильтра слева от страницы, и я могу их фильтровать. Могу ли я вернуть все фильтры, не указав их таким образом? – TrueSkillZ

+0

Итак, вы хотите выполнить агрегирование терминов по всем полям? –

ответ

0

Насколько я знаю, нет никакого способа сделать это непосредственно. - Вы должны указывать каждое поле вы заинтересованы в

Однако, если вы можете создать список всех полей в индексе, то вам может легко генерировать требуемые агрегаты.

Итак, как создать этот список? Я могу думать три способов, которые мощи работы

А) построить его, делая некоторую предварительную обработку перед вами индексом каждого документа в ElasticSearch

B) Используйте GET MAPPING апи, чтобы посмотреть, какие поля были созданный с помощью динамического отображения (http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html)

C) Используйте скриптовых Metric Aggregation и писать сценарии, которые строят де-обманутый список полей в документах (http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-scripted-metric-aggregation.html)

+0

Я иду с решением B, мне это подходит Спасибо за правильный ответ и всю помощь! :) – TrueSkillZ