Схема SOLR - сохранение поля идентификатора документа.Максимальное количество документов в индексе Lucene - PullRequest
0 голосов
/ 14 марта 2012

У меня есть пара вопросов о схеме индекса Lucene / SOLR

  1. Вот мое поле идентификатора документа (UniqueKey), как определено в схеме SOLR:

Я никогда не буду выполнять поиск по полю Id, поэтому нужно ли его индексировать = "true"? И кстати, нужно ли его хранить = "true" (я предполагаю, что оно будет сохранено в любом случае, так что это не имеет значения).

И 2: какое максимальное количество документов может храниться в одном индексе SOLR? Или, если быть более точным: в нем может храниться 5 миллиардов небольших документов?

Третий вопрос: мне нужно выполнить поиск по комбинации из 2 полей: одно типа long и одно целое. Каков наиболее эффективный способ хранения и индексации таких полей - хранить и индексировать их по отдельности или предварительно вычислять какое-то хеш-значение на основе их обоих и выполнять поиск только по хешу? Поскольку я хочу иметь несколько миллиардов таких документов, мне нужно минимизировать потребности в хранилище при сохранении эффективности поиска.

Спасибо RG

1 Ответ

1 голос
/ 14 марта 2012
  1. http://wiki.apache.org/solr/SchemaXml#The_Unique_Key_Field

    Для схемы не обязательно иметь поле uniqueKey

  2. Solr может хранить максимум ~ 274 миллиардов документов. Обработка и поиск ответа будут зависеть от памяти. Однако, если размер вашего индекса увеличивается и его невозможно обслуживать, вы можете использовать Distributed Search .

  3. Вы можете объединить поля в одно поле как хэш и не пометить его как сохраненный, чтобы уменьшить размер индекса. Это ускорит начальные поиски. Кэширование должно позаботиться о подобных поисках.

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