Хранить данные пользователей в lucene или запрашивать rdbms? - PullRequest
3 голосов
/ 22 июня 2010

Я борюсь с lucene и не уверен, как это лучше сделать: у меня есть данные пользователей для их профилей - некоторые из них (3-4 поля) хранятся в lucene. Но о результатах запроса мне также нужночтобы показать возраст / имя пользователя и т. д.

Я не думаю, что разумно сохранять все эти поля (дополнительные, которые не участвуют в процессе поиска) в lucene, но для запроса rdmbs потребуется либо некотороевремя, поэтому мой вопрос, как это лучше сделать?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 22 июня 2010

Индексирование всех полей профиля с помощью lucene дает лучший опыт поиска для конечных пользователей, так как он будет искать по всем полям и делать соответствующий рейтинг . В РСУБД я не знаю, как найти полнотекстовый поиск по нескольким столбцам и ранжированию. В таком случае я всегда предпочитал Lucene.

вам также необходимо синхронизировать индекс с rdms.

1 голос
/ 22 июня 2010

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

1 голос
/ 22 июня 2010

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

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