#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?