У меня проблемы с поиском точной фразы с помощью Lucene.NET 2.0.0.4
Например, я ищу "атрибут атрибута области устанавливает переменную" (включая кавычки), но не получаю совпадений, я подтвердил 100%, что фраза существует.
Кто-нибудь может подсказать, где я иду не так? Это даже поддерживается Lucene.NET? Как обычно, документация по API не слишком полезна, и некоторые статьи CodeProject, которые я прочитал, специально не касаются этого.
Используя следующий код для создания индекса:
Directory dir = Lucene.Net.Store.FSDirectory.GetDirectory("Index", true);
Analyzer analyzer = new Lucene.Net.Analysis.SimpleAnalyzer();
IndexWriter indexWriter = new Lucene.Net.Index.IndexWriter(dir, analyzer,true);
//create a document, add in a single field
Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document();
Lucene.Net.Documents.Field fldContent = new Lucene.Net.Documents.Field(
"content", File.ReadAllText(@"Documents\100.txt"),
Lucene.Net.Documents.Field.Store.YES,
Lucene.Net.Documents.Field.Index.TOKENIZED);
doc.Add(fldContent);
//write the document to the index
indexWriter.AddDocument(doc);
Затем я ищу фразу, используя:
//state the file location of the index
Directory dir = Lucene.Net.Store.FSDirectory.GetDirectory("Index", false);
//create an index searcher that will perform the search
IndexSearcher searcher = new Lucene.Net.Search.IndexSearcher(dir);
QueryParser qp = new QueryParser("content", new SimpleAnalyzer());
// txtSearch.Text Contains a phrase such as "this is a phrase"
Query q=qp.Parse(txtSearch.Text);
//execute the query
Lucene.Net.Search.Hits hits = searcher.Search(q);
Целевой документ размером около 7 МБ.
Я видел этот предыдущий вопрос однако мне не нужен поиск близости, просто точный поиск по фразе.