Почему отсутствуют определения? Lucene.Net 3.0.3 - быстрый векторный маркер
Как новичок в Lucene.Net/Lucene и в C#, я смог поставить несколько строк кода и запустить поиск.
Теперь я хочу вернуть фрагмент найденной области. Я нашел код ниже, но Visual Studio постоянно говорит мне, что а) "Searcher действительно содержит определение getIndexReader" и б) "ScoreDoc не содержит определения документа" - и я не понимаю, в чем проблема!
Есть ли кто-нибудь, кто может помочь.
Я использую Lucene.Net 3.0.3 и Lucene Contrib 3.0.3 в Visual Studio 2010 Express.
Смотрите код, который я имею ниже.
Спасибо за вашу помощь!
RC
IndexReader indexReader = IndexReader.Open(directory, true);
Searcher indexSearch = new IndexSearcher(indexReader);
var queryParser = new QueryParser(Version.LUCENE_30, "text", analyzer);
var query = queryParser.Parse("\"system AKZ\"~10");
Console.WriteLine("Searching for: " + query);
TopDocs hits = indexSearch.Search(query,500);
/// Highlighter
FastVectorHighlighter fvHighlighter = new FastVectorHighlighter(true, true);
for (int i = 0; i < hits.ScoreDocs.Length; i++)
{
string bestfragment fvHighlighter.GetBestFragment(fvHighlighter.GetFieldQuery(query),indexSearch.getIndexReader(), hits.ScoreDocs[i].doc, "text", 20);
MessageBox.Show(bestfragment);
}
Console.WriteLine("Results Found: " + hits.TotalHits);
3 ответа
Я бы вытащил что-то вроде ILSpy, чтобы проверить, какие методы на самом деле доступны.
Это просто проблема со случаем имен методов. Это GetIndexReader(), например, не getIndexReader(). Вы, вероятно, основываете это на документах для реализации Java.