2010-07-06 3 views
0

내 웹 사이트 (ASP.NET MVC 2)에 검색 필드를 추가하려고하는데 Nhibernate.Search를 사용하는 것이 좋을 것이라고 들었습니다. 나머지 부분에서는 이미 Nhibernate를 사용하고있었습니다. 계획.Nhibernate.Search (Lucene.Net)에서 색인을 작성하는 방법은 무엇입니까?

어쨌든, coulpe 자습서, 즉 this one을 따라 갔고이 사이트에서 몇 가지 질문과 답변을했지만 결국에는 색인을 작성하지 않고 검색 결과가 비어 있습니다.

나는이 질문이 다소 막연할지 모르지만, 내가 한 모든 것을 다 해본 후에도 아무것도 작동하지 않는다고 이상하게 보인다.

음, 거의 모든 것. SearchInterceptor 아무데도 존재하지 않기 때문에

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); 
} 

느릅 나무가 작동하지 않습니다 ...

내가 여기서 뭔가를 놓치고 있습니까 : 어떤 시점에서, 튜토리얼 중 하나, 그것은 입력 하더군요? 검색어를 더 잘 작성하는 방법이 있습니까? 내 응용 프로그램의 어느 부분에서 색인을 작성합니까?

미리 감사드립니다.

답변

0

좋아, 조금 더 참견 한 후에 나는 문제가있는 곳을 발견했다고 생각합니다.

쿼리를 포함하여 모든 것이 클래스에 태그가 붙어 있어도 괜찮습니다.

유일한 문제는 색인 생성입니다. 내가 응용 프로그램을 "실행"하면 세그먼트 파일에 20 바이트 만있는 것을 제외하고는 각 폴더에 세그먼트 파일이있는 각 색인 된 클래스의 폴더가있는 폴더가 생성됩니다 그들이 생성 된시기에 대한 정보가 포함되어있는 것 같습니다. 실제 색인이 없습니다. ...

해결 방법에 대한 단서가 있습니까?

관련 문제