Получить количество поисковых запросов (количество вхождений) на документ в Lucene - PullRequest
1 голос
/ 17 декабря 2009

Может ли кто-нибудь посоветовать мне лучший способ получить хиты (ни одного вхождения) слова на документ в Lucene? ..

Ответы [ 2 ]

5 голосов
/ 21 декабря 2009

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

  1. Перебирать документы, используя IndexReader.document () и isDeleted ().
  2. В документе d итерируйте поля, используя Document.getFields () .
  3. Для каждого поля f получить термины, используя getTermFreqVector () .
  4. Перейдите через вектор термов и суммируйте частоты по терминам.
  5. Сумма частот терминов на поле даст вам вектор частоты термина документа.
1 голос
/ 18 декабря 2009

SpanTermQuery.getSpans даст перечисление документов и место, где появляются термины. Документы отсортированы, так что вы можете просто посчитать, сколько раз каждый документ появляется, игнорируя информацию о положении.

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