Является ли Lucene.Net подходящей поисковой системой для часто меняющегося контента?

Является ли Lucene.Net подходящей поисковой системой для часто меняющегося контента?

Или более конкретно, может ли кто-нибудь дать субъективное мнение о том, как быстро индексы lucene.net могут быть обновлены. Любые другие подходы к поиску часто изменяющегося контента были бы большими.

Разрабатывали форум. Сообщения форума часто добавляются в репозиторий форума. Мы считаем, что эти должности должны быть добавлены к индексу lucene очень быстро (< 0,5 с), чтобы стать доступными для поиска. Вначале в репозитории будет около 5E6 сообщений. Предположим, что поисковая система работает на неэкзотическом сервере (я знаю, что это очень расплывчато!).

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

Ответы

Ответ 1

Out forums (http://episteme.arstechnica.com) используют Lucene в качестве поискового сервера, так что это возможно. Сообщения не индексируются так быстро, как хотелось бы, но мы могли бы решить это, увеличив оборудование индексирования и используя более умную стратегию кэширования.

Общий ответ на этот вопрос: это зависит от вашего шаблона записи/обновления. Форумы относительно просты, так как большинство контента новое, а существующий контент обновляется реже.

Для форума я бы рекомендовал иметь индекс "архив" и "живой" индекс. Живой индекс может включать сообщения с последнего дня, недели, года, в то время как индекс архива будет содержать большой объем сообщений, которые, вероятно, никогда не будут затронуты снова. Поэтому, когда кто-то создает новое сообщение, он будет сначала индексироваться в индексе live. Позднее некоторое пакетное задание очистит живой индекс и переиндексирует все в архив.

Lucene очень хорошо разбирается в нескольких индексах. Вы должны злоупотреблять этой способностью.:)

Ответ 2

Lucene.Net работает очень быстро, однако есть много вещей, которые могут замедлять запросы при неправильном использовании. Я настоятельно рекомендую прочитать Lucene in Action книгу Эрика Хэтчера и Отиса Господнича. Он содержит очень хорошую главу о тестировании и настройке производительности.