Bazı belgeleri indekslemek için Lucene.Net kullanıyorum. Kullanıcının neden sonuç kümesinde yer aldığına dair birkaç satır göstermek istiyorum. tıpkı arama yapmak için google'ı kullandığınızda ve bağlantıyı gösterdiğinde ve bağlantıyı takip ettiğinizde, vurgulanan anahtar kelimelerle birkaç satır var. herhangi bir fikir?Lucene.Net Arama kriterlerinize işaret etmek için arama yapın.
17
A
cevap
23
bir sonuç varsa sen endeksli metin buna benzer bir yöntemle talebinizle ilgili de iletin alabilirsiniz: Bir mücevher arkadaşı vardır
public string GeneratePreviewText(Query q, string text)
{
QueryScorer scorer = new QueryScorer(q);
Formatter formatter = new SimpleHTMLFormatter(highlightStartTag, highlightEndTag);
Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.SetTextFragmenter(new SimpleFragmenter(fragmentLength));
TokenStream stream = new StandardAnalyzer().TokenStream(new StringReader(text));
return highlighter.GetBestFragments(stream, text, fragmentCount, fragmentSeparator);
}
. Teşekkürler. –
Beni dışarı çıkardı, ancak TokenStream'in ilk parametresi olarak rasgele bir dize değerini geçmek zorunda kaldı. – ctrlplusb
Bu nesneleri bulmak için Lucene.Net.Contrib nuget paketini eklemeliydim. –