Влияние размера индекса на скорость поиска (хранить или не хранить) - PullRequest
4 голосов
/ 11 января 2012

сейчас мы используем Solr в качестве полнотекстового индекса, где все поля документов индексируются, но не сохраняются. Документов несколько миллионов, размер индекса - 50 ГБ. Среднее время запроса составляет около 100 мс.

Чтобы использовать такие функции, как выделение, мы думаем о: дополнительный текст магазина. Но это может удвоить размер индексных файлов.

Я знаю, что нет абсолютно никакой (линейной) связи между размером индекса и временем запроса. Увеличение количества документов с коэффициентом 10 практически не влияет на время запроса.

Но вообще, система (Solr / Lucene / Linux / ...) должна обрабатывать больше информации - файлы индекса (например) основаны на гораздо большем количестве I-узлов и т. Д.

Так что я уверен, что время запроса зависит от размера индекса. (Но: это заметно?)

первый: Вы думаете, я прав? Был ли у вас опыт работы с размером индекса и скоростью поиска по сравнению с сохраненным текстом или без него? Разумно ли и разумно взрывать индекс, сохраняя документы?

второй: Знаете ли вы, как Solr / Lucene обрабатывает сохраненный текст? Может быть, в отдельных файлах? (Так что это не влияет на простой поиск, где не требуется сохраненный текст!?)

Спасибо.

1 Ответ

1 голос
/ 11 января 2012

Да, абсолютно верно, что индекс увеличивается, если вы сохраняете большие поля, но если вы хотите выделить их, у вас нет других способов. Я не думаю, что скорость будет сильно снижена, возможно, только потому, что вам нужно загружать больше данных для получения результатов, но это не так важно.

Относительно формата индекса Lucene и различных файлов в индексе вы можете посмотреть здесь : сохраненные поля хранятся в определенном файле.

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