Есть ли ограничение на количество текста, которое я выбрасываю в Lucene.NET? - PullRequest
1 голос
/ 20 марта 2012

Я изучаю использование Lucene.NET после прочтения некоторых плохих отзывов о полной обработке текста в SQL Server.

Должен ли я быть осторожным с тем, сколько данных я даю Lucene.NET для индексации?

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

РЕДАКТИРОВАТЬ: Это также объясняет , сколько данных lucene может обрабатывать .

1 Ответ

2 голосов
/ 20 марта 2012

Поисковые веб-сайты не редкость в наши дни, когда поисковый индекс выступает в качестве базы данных хранилища / документа и служит данными не только при поиске, но и для генерации навигации и / или фасетов.Lucene хорошо подходит для этой цели, Solr - еще лучше.Используйте данные базы данных SQL в качестве основных данных и заполняйте / перестраивайте индекс с подходящей для вас частотой.

Чем больше индекс, тем медленнее будет запрос, но Lucene может сильно проглотить, прежде чем обременится индексомsize.

Индекс должен состоять из всех доступных для поиска данных.Если вы индексируете людей, это может быть их имя и адрес электронной почты.Вы можете вообще не касаться базы данных, если также включите в индекс все свойства, из которых состоит объект People, даже если они не предназначены для поиска.Другой подход заключается в том, чтобы включить имя, адрес электронной почты и peopleID и ничего больше, а также запросить базу данных по идентификатору, чтобы получить сущность People.

...