Алгоритм хеширования, используемый в индексации Lucene - PullRequest
0 голосов
/ 05 сентября 2011

Любая идея, какой алгоритм хеширования используется при индексации каждого слова в люцене

1 Ответ

0 голосов
/ 06 сентября 2011

Lucene не использует хеширование для поиска терминов, они хранятся лексикографически в файле терминов словаря. Другой файл, называемый информационным индексом терминов, загружается в память для обеспечения произвольного доступа к словарю терминов (который в основном представляет собой список пропуска).

Больше информации на сайте Lucene .

В настоящее время Term Info Index хранит положение каждого indexdivisor-го (обычно indexdivisor = 128) в памяти, что означает, что вы можете искать термин, выполняя один двоичный поиск по Term Info Index (в памяти), и самое большее 128 записей в словаре терминов (на диске).

Существует оптимизация, в настоящее время доступная в транке, для этого индекса информации о терминах, которая использует префикс trie для выполнения поиска и работает намного лучше для запросов, интенсивно использующих словарь терминов.

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