Является ли 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 книгу Эрика Хэтчера и Отиса Господнича. Он содержит очень хорошую главу о тестировании и настройке производительности.