2013-07-11 68 views
0

我將SimpleLuucene添加到我的應用程序中,這是一個包裝層,它使Lucene在基本情況下更容易實現,希望能夠提高查詢速度。但是,當我使用最簡單的工作概念來連接代碼時,我沒有得到任何結果。我究竟做錯了什麼?爲什麼Lucene的這個實現不返回任何結果?

PS:我遺漏了代碼,最初創建我的索引。但它已經運行並且cfs和fdt文件有數據。

var searchcriteria = new Search.Helpers.Mapping().MapToModel(postdata); 
var searcher = new DirectoryIndexSearcher(
    new DirectoryInfo(@"c:\search.index"), 
    true); 
var query = new TermQuery(
    new Term("situs", "1144 Air Cargo Ave, Sarasota, Fl, 34243")); 

var searchService = new SearchService(searcher); 
var luceneresults = searchService.SearchIndex(query); 
+0

你想要匹配什麼:具有完全短語「1144 Air Cargo ...」的文檔,包含任何順序的所有這些單詞的文檔,還是包含任何這些單詞的文檔? – Keith

回答

1

查詢對象TermQuery將嘗試匹配的輸入值正是原樣。輸入和索引值之間的任何差異(例如Fl而不是FL)將導致零匹配。所有外殼,空格和符號都需要相同才能返回匹配的文檔。我建議事先處理輸入和索引值(即索引之前的低層字符串,以及類似的所有搜索輸入)以避免細微的差異。

相關問題