Есть ли способ для Solr / Lucene вернуть ранги выбранных документов вместо полных результатов? - PullRequest
8 голосов
/ 28 октября 2011

Меня интересует запрос Solr с запросом q и составление схемы его отзыва набора документов D при возврате {10, 20, 30, ...} документов.

В настоящее время у меня есть полные результаты, то есть список возвращенных документов (через solrpy), и итерации по нему, чтобы найти ранги D , то есть отображение из D к их показателям в результатах поиска. Я не требую строго сопоставления, только сопоставленные ранги.

Есть ли способ, чтобы Solr / Lucene возвращали ранги для набора идентификаторов вместо полных результатов?

Другие способы решения этой проблемы:

  • Для запроса вернуть ранг документа d
  • Для запроса до указанного ранга укажите, присутствует ли документ d
  • Из запроса q1 Результат до указанного количества записей, возвращает количество записей, соответствующих другому запросу q2

Ответы [ 2 ]

4 голосов
/ 01 декабря 2011

Вы можете получить ранг по полю score.

Добавить &fl=KeyFieldName,score, чтобы получить идентификатор документа и оценку по вашему запросу. Если вам нужны все поля, добавьте &fl=*,score к вашему запросу.

Подробнее см. http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_see_the_relevancy_scores_for_search_results.

1 голос
/ 10 ноября 2011

Нет, я не могу придумать SOLR или Lucene, как это сделать. Я думаю, что самое простое решение здесь - запрограммировать это самостоятельно с помощью простого HashSet ...

...