Tengo problemas para buscar una frase exacta usando Lucene.NET 2.0.0.4buscar frase exacta usando Lucene.net
Por ejemplo Estoy buscando "atributo scope establece la variable" (incluyendo las comillas), pero no recibirán coincidencias, he confirmado al 100% que la frase existe.
¿Alguien puede sugerirme dónde me estoy equivocando? ¿Esto incluso es compatible con Lucene.NET? Como es habitual, la documentación de la API no es demasiado útil y algunos artículos de CodeProject que he leído no abordan específicamente esto.
Usando el siguiente código para crear el índice:
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);
que luego buscar una frase usando:
//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);
El documento de destino es de unos 7 MB de texto sin formato.
He visto esto previous question Sin embargo, no quiero una búsqueda de proximidad, solo una búsqueda exacta.