Автоматическое индексирование документов в Lucene

#sql-server #wcf #lucene #lucene.net

#sql-сервер #wcf #lucene #lucene.net

Вопрос:

Я создаю поисковую систему для своего веб-сайта, используя Lucene. Я хочу индексировать любой новый элемент, добавленный в мою базу данных sql Server. Есть идеи о наилучшем способе сделать это?

Примечание: скорость добавления высока, поэтому вы можете сказать, что каждые 10 минут у нас появляются новые документы

Мой код lucene является частью службы данных WCF, но я могу разместить его в отдельной обычной службе wcf, если это единственный вариант.

Ответ №1:

Если вы хотите использовать lucene, у вас может быть поток в вашем приложении, который запрашивает базу данных каждые 5,6 … 10 минут на предмет новых добавлений, например, с момента последнего SELECT * FROM my_table WHERE index_date > last_search_date добавления .

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

Я бы использовал solr и cron задание для индексации, поскольку это оказалось бы гораздо меньшей работой для вас.

Комментарии:

1. Интересно, как я мог бы реализовать метод, который может проверять базу данных каждые 10 минут в службах данных wcf / по крайней мере, в обычном wcf?