У меня есть база данных SQL 2000 с примерно 10 миллионами строк, и мне нужно сделать запрос, чтобы получить информацию о продукте на основе полного/частичного текстового поиска. На основании этого мне нужно присоединиться к другим таблицам, чтобы проверить мой бизнес-процесс. У меня это реализовано с использованием SQL proc, но я могу только проверять около 6 строк в секунду (без потоков .. его длинная бизнес-логика). Я пытаюсь найти лучший способ повысить производительность. Lucene.NET может помочь в этом. У меня есть пара вопросов.Lucene.NET с SQL SERVER 2000
Можете ли вы указать мне правильные источники.
При построении индекса на Lucene, как мне синхронизировать с базой данных SQL и lucene DB? Как вы думаете, Lucene может дать реальную прибыль?
Спасибо за ваш ответ. Я просмотрел довольно много учебников и в тот момент, когда я могу индексировать записи БД в локальный файл. Как я уже сказал, моя БД насчитывает около 10 миллионов записей, Lucene занимает некоторое время, если я создаю индекс с нуля. Мой подход: - Пропустить службу Windows, которая ищет любое обновление в базе данных (каждый час) и сохраняет индекс в синхронизации с записями базы данных. Скажите, что добавлено 2000 записей/час, это будет отрицательно влиять на обновление индекса. Увеличивает ли поиск во время создания индекса? – bkhanal
Ну, вам нужно как-то получить записи в индекс Lucene в первую очередь. Лучшим способом для этого является создание индекса с нуля в автономном режиме. После этого вы можете использовать инкрементные обновления, как вы предлагаете. У меня есть только опыт Java Lucene с MySQL, но я считаю, что проблемы схожи в вашей настройке - 2000 записей в час, или около 40 в минуту, кажется разумным для обновлений. Это может замедлить поиск. См. Http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Scaling-Lucene-and-Solr –