Apache Lucene инвертированный индекс
Индекс Lucene использует tf-idf в качестве весов? Можно ли определить собственную статистику и веса для каждого документа и "вставить" их в Lucene?
2 ответа
Да, алгоритм оценки по умолчанию включает tf-idf и полностью задокументирован в документации TFIDFSiilarity.
Существует несколько способов настройки скоринга документов.
- Самым простым и наиболее распространенным является добавление повышения либо в поле во время индекса, либо в условие запроса при запросе.
- Многие типы запросов изменяют оценку, используемую для этого запроса. Примеры включают ConstantScoreQuery и DisjunctionMaxQuery.
Similarity
вы используете определяет алгоритм оценки. Вы можете выбрать другой (например, BM25Shoity).- Вы можете реализовать свой собственный
Similarity
Обычно путем расширения реализации более высокого уровня, такой какDefaultSimilarity
,TFIDFSimilarity
, или жеSimilarityBase
Просто пройдите этот пример. Это может помочь вам узнать, как вы можете вносить пользовательские изменения в процесс индексирования
http://lucene.apache.org/core/4_3_1/demo/src-html/org/apache/lucene/demo/IndexFiles.html