Как данные хранятся в люцене - PullRequest
15 голосов
/ 01 февраля 2012

Я знаю, что lucene создает индекс и сохраняет все данные. Может кто-нибудь сказать мне, как данные хранятся в плоском файле?или какие алгоритмы они используют для хранения данных в бэкэнде, чтобы они могли быстро их получить?

Ответы [ 3 ]

8 голосов
/ 01 февраля 2012

Не знаю, если это то, что вы просили. Но более общий ответ заключается в том, что они используют / реализуют инвертированный индекс . Особенности того, как Lucene хранит его, вы можете найти в форматах файлов (как сказал Милан).

Но общая идея состоит в том, что они хранят структуру данных Inverted Index и другие вспомогательные структуры данных, чтобы помочь быстро отвечать на запросы. Например, он хранит вектор норм для каждого документа и IDF каждого термина ( частота обратных документов ). Lucene также хранит фактические поля документа, но они находятся за пределами инвертированного индекса.

5 голосов
/ 01 февраля 2012

Вы можете найти все, что объясняется в разделе форматы файлов .

4 голосов
/ 01 февраля 2012

Вы можете прочитать эту книгу http://nlp.stanford.edu/IR-book/, чтобы узнать о структурах данных, алгоритмах и моделях, используемых в информационно-поисковых системах

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