Я должен использовать Lucene только для поиска? - PullRequest
1 голос
/ 11 ноября 2010

Наш сайт должен предоставлять данные миру. Это данные с открытым исходным кодом, которые мы сохранили, и мы хотим, чтобы они были общедоступными. Это около 2 миллионов записей.

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

Эта более подробная информация, однако, не сохраняется непосредственно в индексе ... существуют отношения типа "многие ко многим", и мы используем нашу реляционную базу данных (MySQL) для предоставления этой информации.

Таким образом, как одна запись принадлежит категории, мы хотим, чтобы пользователь щелкнул по этой категории и отобразил остальные записи в этой категории (гораздо больше ассоциаций, подобных этой).

У меня вопрос: должны ли мы использовать Lucene также для хранения такого рода информации и извлечения ее с помощью простого поиска (category:apples), или MySQL должен продолжать выполнять эту логическую работу? Должен ли я использовать Lucene только для поисковой части?

EDIT

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

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

Сила Lucene заключается в быстром создании индекса набора документов и возможности поиска по ним. Если эта «подробная информация» не нуждается в индексации или поиске, не храните ее в Lucene.

Lucene - это не база данных, это индекс.

0 голосов
/ 11 ноября 2010

Вы хотите использовать Lucene для хранения данных? Я в порядке, я использовал Solr http://lucene.apache.org/solr/
, который построен на основе Lucene, чтобы работать в качестве поисковой системы и хранить больше данных, относящихся к записи, которая может бытьиспользовать для внешнего интерфейса.Для меня это сработало с 500 тыс. Записей и 2 млн. Записей, я думаю, что все должно быть в порядке.

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