2014-03-26 2 views
0

내 검색 엔진의 경우 LUCENE_30이지만 퍼지 검색을 할 수는 없습니다. 어떻게 작동합니까? GetFuzzyQuery를 사용했지만 사용하지 못했습니다. 지원되지 않습니다. 여기Lucene 30 퍼지 검색

내 코드 :

if (searchQuery.Length < 3) 
      { 
       throw new ArgumentException("none"); 
      } 
      FSDirectory dir = FSDirectory.Open(new DirectoryInfo(_indexFileLocation)); 

      var searcher = new IndexSearcher(dir, true); 
      var analyzer = new RussianAnalyzer(Lucene.Net.Util.Version.LUCENE_29); 

      var query = MultiFieldQueryParser.Parse(Lucene.Net.Util.Version.LUCENE_30, searchQuery, new[] {"Title" }, new[] { Occur.SHOULD }, analyzer); 



      var hits = searcher.Search(query, 11110); 
      var dto = new PerformSearchResultDto(); 
      dto.SearchResults = new List<SearchResult>(); 
      dto.Total = hits.TotalHits; 

      for (int i = pagesize * page; i < hits.TotalHits && i < pagesize * page + pagesize; i++) 
      { 
       // Document doc = hits.Doc(i); 
       int docId = hits.ScoreDocs[i].Doc; 
       var doc = searcher.Doc(docId); 
       var result = new SearchResult(); 
       result.Title = doc.Get("Title"); 
       result.Type = doc.Get("Type"); 
       result.Href = doc.Get("Href"); 
       result.LastModified = doc.Get("LastModified"); 
       result.Site = doc.Get("Site"); 
       result.City = doc.Get("City"); 
       //result.Region = doc.Get("Region"); 
       result.Content = doc.Get("Content"); 
       result.NoIndex = Convert.ToBoolean(doc.Get("NoIndex")); 
       dto.SearchResults.Add(result); 
      } 

답변