Ben Lucene yolumda çalışıyorum ve Hits nesnesi ile bu konuda güdük oldum. Ben bir Lucene.Net.Search kullanma var ama nedense VS12 Express Hits nesnesini bulamıyor, bu yüzden aşağıdaki derleme başarısız olur.Hits Nesne Lucene.Net 3.03'te kullanımdan kaldırıldı, nasıl değiştirilir?
derleyici tür veya ad alanı adı 'Hit' Hata 1 bulunamadı
(bir kullanarak yönergesi eksik size olan bu hat, aşağıdaki hata iletisi ile
Hits hits = searcher.Search(booleanQuery, hits_limit);
şikayetçi veya bir montaj referansı?)
Bulamıyorum, aldığınız çevrimiçi eğitmenlere göre Al Lucnen. t.Search
herhangi bir görüntüle
// 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;
Teşekkür: İşte bir exemple olduğunu! alanın tersine tüm belgeyi bir atışta geri almak için yine de var mı? – TheCodeNovice
hattı ** Lucene.Net.Documents.Document doc = searcher.Doc (scoreDoc.Doc); ** bütün belge alınır. Sonra benim örnekte ben yaptığım gibi kendi alanlarını erişmek veya ** foreach gibi bir şey kullanarak içlerinden yineleme yapabilirsiniz (Lucene.Net.Documents.Field f doc.GetFields() olarak) {Console.WriteLine ("alanına =" + f.Name + ", value =" + f.StringValue)} ** – mbarthelemy
mükemmel! Tekrar teşekkürler – TheCodeNovice