我正在将SimpleLuucene添加到我的应用程序中,这是一个包装层,使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 :(得分:1)
查询对象TermQuery
将尝试将输入值完全匹配。输入值和索引值之间的任何差异(例如Fl
而不是FL
)都将导致零匹配。 Lucene的所有套管,空格和符号必须相同才能返回匹配的文件。我建议事先预处理输入和索引值(即在索引之前对下层字符串进行预处理,对所有搜索输入也类似)以避免细微差别。