6
我正在通過lucene工作,並在Hits對象的這個問題上陷入困境。我有一個使用Lucene.Net.Search,但由於某些原因,VS12 Express無法找到Hits對象,因此以下內容無法編譯。點擊對象在Lucene.Net 3.03中棄用,我該如何替換它?
編譯器抱怨這條線
Hits hits = searcher.Search(booleanQuery, hits_limit);
與以下錯誤消息
錯誤1類型或命名空間名稱「點擊」找不到(你 缺少using指令或裝配參考?)
我不明白,根據在線教程alk你需要的是Lucnen.Ne t.Search
任何建議
// validation
if (subqueries.Count == 0) return new List<MATS_Doc>();
// set up lucene searcher
Searcher searcher = new IndexSearcher(_directory, false);
var hits_limit = 1000;
var analyzer = new StandardAnalyzer(Version.LUCENE_30);
BooleanQuery booleanQuery = new BooleanQuery();
foreach (Query fieldQuery in subqueries)
{
booleanQuery.Add(fieldQuery, Occur.SHOULD);
}
//var parser = new QueryParser(Version.LUCENE_30, searchField, analyzer);
//var query = _parseQuery(searchQuery, parser);
Hits hits = searcher.Search(booleanQuery, hits_limit);
IEnumerable<MATS_Doc> results = _mapLuceneSearchResultsToDataList(hits, searcher);
analyzer.Close();
searcher.Dispose();
return results;
謝謝!無論如何,要將整個文檔重新整理一次,而不是逐場進行? – TheCodeNovice 2013-02-19 21:26:38
行** Lucene.Net.Documents.Document doc = searcher.Doc(scoreDoc.Doc); **提取整個文檔。然後你可以像我在我的例子中那樣訪問它的字段,或者使用類似於foreach的方法遍歷它們(doc.GetFields()中的Lucene.Net.Documents.Field f){Console.WriteLine(「field =」+ f.Name +「,value =」+ f.StringValue)} ** – mbarthelemy 2013-02-19 21:29:45
完美!再次感謝 – TheCodeNovice 2013-02-19 21:31:56