Мне нужно фасетировать внутри n документов, которые выбраны как
... ORDER BY something DESC LIMIT 100
Возможно ли это с Solr? Как?
Мне нужно фасетировать внутри n документов, которые выбраны как
... ORDER BY something DESC LIMIT 100
Возможно ли это с Solr? Как?
AFAIK нет, это не поддерживается/не реализовано. Фасеты на самом деле не предназначены для «статистики», а являются руководством для конечного пользователя. Представьте, что вы просматриваете многогранный интерфейс и видите, как грани меняются всякий раз, когда вы меняете порядок сортировки или разбивку по страницам. Фасетный просмотр был бы бесполезен, если бы он работал так.
Я думаю, что это было бы хорошей функцией для StatsComponent.
это полный взлом, но вот ...
http://localhost:8080/solr/select/?q=id%3A123+OR+id%3A456...(keep совмещать их с помощью ИЛИ)...&facet=true&facet.field=something
где вы объединяете все свои идентификаторы в новый запрос, используя ИЛИ. затем, когда вы граните на своем поле, сводка фасетов будет применяться только к результатам.
Я думаю, что это возможно с группировкой результатов (теперь в багажнике!):
http://wiki.apache.org/solr/FieldCollapsing
... единственная проблема в том, что вы можете установить только одно "facet.field" (т.е. group.field)
Но самое замечательное в том, что вы получаете заработанные грани!