2012-12-09 3 views
2

Lucene.Net/Lucene과 C#의 초보자로서 몇 줄의 코드를 넣고 검색을 실행할 수있었습니다.왜 정의가 누락 되었습니까? Lucene.Net 3.0.3 - 빠른 벡터 형광펜

이제 발견 된 영역의 스 니펫을 가져오고 싶습니다. 아래 코드를 발견했지만 Visual Studio에서 "Searcher에는 getIndexReader의 정의가 포함되어 있습니다."및 b) "ScoreDoc에는 doc 정의가 없습니다."- 그리고 문제가있는 지점이 표시되지 않습니다.

누가 도와 줄 수있는 사람이 있습니까?

Visual Studio 2010 Express에서 Lucene.Net 3.0.3 및 Lucene Contrib 3.0.3을 사용하고 있습니다.

아래 코드를 참조하십시오.

도움 주셔서 감사합니다.

RC


IndexReader indexReader = IndexReader.Open(directory, true); 
      Searcher indexSearch = new IndexSearcher(indexReader); 

      var queryParser = new QueryParser(Version.LUCENE_30, "text", analyzer); 
      var query = queryParser.Parse("\"system AKZ\"~10"); 

      Console.WriteLine("Searching for: " + query); 

      TopDocs hits = indexSearch.Search(query,500); 
      /// Highlighter 


      FastVectorHighlighter fvHighlighter = new FastVectorHighlighter(true, true); 
      for (int i = 0; i < hits.ScoreDocs.Length; i++) 
       { 
        string bestfragment fvHighlighter.GetBestFragment(fvHighlighter.GetFieldQuery(query),indexSearch.getIndexReader(), hits.ScoreDocs[i].doc, "text", 20); 
        MessageBox.Show(bestfragment); 
       } 

      Console.WriteLine("Results Found: " + hits.TotalHits); 

답변

0

나는 방법이 실제로 사용할 수있는 검사 ILSpy 뭔가를 꺼내 것이다.

0

이것은 메소드 이름의 경우 문제 일뿐입니다. 예를 들어 getIndexReader()가 아닌 GetIndexReader()입니다. 당신은 아마도 Java 구현을 위해이 문서를 기반으로합니다.

0

Lucene.net에서이 메서드의 이름은 IndexReader입니다.

관련 문제