2010-02-24 2 views
0

У меня есть приложение ASP.NET MVC, и я изучаю реализацию поисковой системы, которая будет искать людей. Я хотел бы использовать Nhibernate Search & Lucene.Net, так как это будет поддерживать индекс в синхронизации, когда человек вставлен или обновлен, что приведет к тому, что изменения будут видны, когда пользователь выполнит поиск.Asp.MVC и nHibernate и Lucene вопрос

Проблема, которую я имею, заключается в том, что, если несколько пользователей одновременно обновляют индекс, как Nhibernate Search справляется с этим? Является ли Lucene ответственным за блокировку?

Любая помощь будет принята с благодарностью.

С уважением

Спам

ответ

0

Lucene.NET будет обрабатывать блокировки для вы, howeve r работает несколько приложений могут иметь конфликтующие блокировки, поскольку все экземпляры хранят файл блокировки в папке temp.

Это было исправлено в Lucene 2.3 или что-то в этом месте, где они начали хранить файл блокировки в файле basedir (где все индексные файлы находятся) по умолчанию.

Хотя, я думаю, что индексная запись во время поиска или записи из другого потока/процесса вызовет исключение, поэтому было бы разумно обрабатывать это соответственно (например, очередь обновления для этого объекта).

Смежные вопросы