2010-07-06 2 views
0

Я пытаюсь добавить поле поиска на свой веб-сайт (ASP.NET MVC 2), и мне сказали, что было бы неплохо использовать Nhibernate.Search, увидев, что я уже использовал Nhibernate в остальной части проект.Как создать индекс в Nhibernate.Search (Lucene.Net)?

В любом случае, я следовал учебным пособиям, а именно this one, а также некоторые вопросы и ответы на этом сайте, но в конце концов он не строит индекс, а поисковые запросы пустые.

Я знаю, что этот вопрос может быть немного расплывчатым, но кажется странным, что ничего не работает даже после того, как я сделал все, что мне сказали.

Ну, почти все. В какой-то момент, в одном из учебников, он говорит мне, чтобы напечатать:

using (IFullTextSession s = Search.CreateFullTextSession(sf.OpenSession(new SearchInterceptor()))) { 

     QueryParser qp = new QueryParser("id", new StopAnalyzer()); 

     IQuery NHQuery = s.CreateFullTextQuery(qp.Parse("Summary:series"), typeof(Book)); 

     IList result = NHQuery.List(); 

     Debug.Assert(result.Count == 2); 
} 

которым не работает, потому что SearchInterceptor не существует нигде ...

Я пропускаю что-то здесь? Есть ли способ лучше написать поисковые запросы? В какой части моего приложения он строит индекс?

Заранее спасибо.

ответ

0

Хорошо, после вмешательства немного больше, я думаю, я нашел, где проблема может быть.

Все, включая запрос в порядке, даже тегирование в классе.

Единственное, чего не происходит, это индексирование. Когда я запускаю приложение, он создает папку (где я рассказывал об этом) с папками для каждого индексированного класса с файлом сегментов в каждой папке, который, по-видимому, является предполагаемым поведением, за исключением того, что файлы сегментов имеют только 20 байтов и похоже, содержат информацию о том, когда они были созданы только, нет фактического индекса ...

Любые подсказки о том, как исправить это?

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

  • Нет связанных вопросов^_^