2009-09-10 6 views
0

je suis en utilisant la création de documents comme ..Lucene.net, veulent rechercher un mot et afficher les mots les plus proches

Lucene.Net.Documents.Field fldContent = 
    new Lucene.Net.Documents.Field("content", content, 
     Lucene.Net.Documents.Field.Store.YES, 
     Lucene.Net.Documents.Field.Index.TOKENIZED, 
     Lucene.Net.Documents.Field.TermVector.WITH_POSITIONS_OFFSETS); 

veulent effectuer une recherche par un mot et que vous voulez afficher avant 5 mots et après 5 mots .

s'il vous plaît envoyez-moi le plus tôt possible ..

Ashish

Répondre

2

Vous devriez regarder surligneur. Highlighter vous permet d'obtenir des extraits de documents source. Voici un code pour vous aider:

Query qry= QueryParser.Parse(query,new StandardAnalyzer()); 
Highlighter highlighter = new Highlighter(new QueryScorer(qry)); 

Hits hits = searcher.Search(qry); 

// Iterate through the results: 
for (int i = 0; i < lHits; i++) 
{ 
    Document hitDoc = hits.Doc(i); 
    String desc = hitDoc.Get("Contents"); 
    TokenStream tokenStream = analyzer.TokenStream("Contents", new System.IO.StringReader(desc)); 

    highlights[i] = highlighter.GetBestFragment(tokenStream, desc); 
} 
Questions connexes