Lucene.Net/Lucene と C# の初心者として、数行のコードを記述して検索を実行することができました。
ここで、見つかった領域のスニペットを取得したいと考えています。以下のコードを見つけましたが、Visual Studio は、a) "Searcher には getIndexReader の定義が含まれています" および b) "ScoreDoc には doc の定義が含まれていません" と言い続けています。
助けてくれる人はいますか。
Visual Studio 2010 Express で Lucene.Net 3.0.3 と Lucene Contrib 3.0.3 を使用しています。
以下のコードを参照してください。
ご協力いただきありがとうございます!
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);