Как отфильтровать результаты по порядку в Solr?

Мне нужно фасетировать внутри n документов, которые выбраны как

... ORDER BY something DESC LIMIT 100

Возможно ли это с Solr? Как?


person JouMaN    schedule 04.01.2010    source источник
comment
Вы имеете в виду грань в пределах одной страницы результатов?   -  person Mauricio Scheffer    schedule 04.01.2010
comment
Ну да, вроде, но с отсортированными результатами. Пример получения статистики из 10 лучших значений   -  person JouMaN    schedule 05.01.2010
comment
попробуйте спросить/предложить это на mail-archives.apache.org/mod_mbox/lucene -солр-пользователь   -  person Mauricio Scheffer    schedule 07.01.2010


Ответы (3)


AFAIK нет, это не поддерживается/не реализовано. Фасеты на самом деле не предназначены для «статистики», а являются руководством для конечного пользователя. Представьте, что вы просматриваете многогранный интерфейс и видите, как грани меняются всякий раз, когда вы меняете порядок сортировки или разбивку по страницам. Фасетный просмотр был бы бесполезен, если бы он работал так.

Я думаю, что это было бы хорошей функцией для StatsComponent.

person Mauricio Scheffer    schedule 05.01.2010
comment
Да, я согласен, это была бы хорошая функция, наряду с вычислением процентиля. - person JouMaN; 07.01.2010

это полный взлом, но вот ...

  1. сделайте свой первоначальный запрос и получите свои результаты обратно.
  2. создайте новый запрос, например:

http://localhost:8080/solr/select/?q=id%3A123+OR+id%3A456...(keep совмещать их с помощью ИЛИ)...&facet=true&facet.field=something

где вы объединяете все свои идентификаторы в новый запрос, используя ИЛИ. затем, когда вы граните на своем поле, сводка фасетов будет применяться только к результатам.

person ryancammer    schedule 06.01.2010
comment
Ну да, но это не очень хорошее решение, например, чтобы попасть в топ 10000 :) - person JouMaN; 07.01.2010

Я думаю, что это возможно с группировкой результатов (теперь в багажнике!):

http://wiki.apache.org/solr/FieldCollapsing

... единственная проблема в том, что вы можете установить только одно "facet.field" (т.е. group.field)

Но самое замечательное в том, что вы получаете заработанные грани!

person Karussell    schedule 03.11.2010