Я новичок в Lucene.net. У меня есть ситуация, когда мне нужно искать все документы в папке для ключевого слова, которое было введено пользователем.Невозможно получить искомый документ с помощью Lucene.net
Я проиндексировал все файлы в папке и подготовил запрос для ключевых слов, введенных пользователем, и выполнил поиск.
Проблема в том, что я мог бы получить хиты, и когда я попытался перебрать удары, я не смог получить поля из документов хитов.
Вот мой код.
public void Searching()
{
Analyzer analyzer = new StandardAnalyzer(luceneVersion.Version.LUCENE_29);
QueryParser parser = new QueryParser(luceneVersion.Version.LUCENE_29, "content", analyzer);
Query query = parser.Parse(txtSearchText.Text);
Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(txtIndexPath.Text.Trim()));
Searcher searcher = new IndexSearcher(IndexReader.Open(directory, true));
TopScoreDocCollector collector = TopScoreDocCollector.Create(100, true):
searcher.Search(query, collector);
ScoreDoc [] hits = collector.TopDocs(). ScoreDocs;
foreach (ScoreDoc hit in hits)
{
int id = hit.Doc;
float score = hit.Score;
Document doc = searcher.Doc(id);
string content = doc.Get("content"); // null
}
}
При попытке отладки контент, который я получаю, пуст.
Я ничего не теряю в своем коде, это буквально забивает меня с полдня на всем пути. Пожалуйста, помогите мне.
Заранее спасибо.