Sto avendo difficoltà a cercare una frase esatta utilizzando Lucene.NET 2.0.0.4esatta cerca categoria utilizzando Lucene.net
Per esempio io sto cercando "scope imposta la variabile" (tra cui le virgolette), ma non ricevere partite, ho confermato al 100% che la frase esiste.
Qualcuno può suggerire dove sto andando male? È supportato anche con Lucene.NET? Come al solito, la documentazione dell'API non è di grande aiuto e alcuni articoli di CodeProject che ho letto non lo riguardano in modo specifico.
utilizzando il seguente codice per creare l'indice:
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);
Ho poi cercare una frase utilizzando:
//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);
Il documento di destinazione è di circa 7 MB testo normale.
Ho visto questo previous question tuttavia non desidero una ricerca di prossimità, solo un'esatta ricerca di frasi.