【问题标题】:Lucene.Net Search result to highlight search keywordsLucene.Net 搜索结果突出显示搜索关键字
【发布时间】:2010-09-16 09:42:54
【问题描述】:

我使用 Lucene.Net 来索引一些文档。我想向用户展示几行关于为什么该文档在结果集中的原因。就像您使用 google 搜索时一样,它会显示链接,然后是链接,其中有几行突出显示了关键字。 有什么想法吗?

【问题讨论】:

    标签: lucene lucene.net


    【解决方案1】:

    当您有结果时,您可以通过类似于以下的方法将索引文本与您的查询一起传递:

    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);
    }
    

    【讨论】:

    • 把我整理出来,但必须将任意字符串值作为 TokenStream 的第一个参数传递。
    • 我必须添加 Lucene.Net.Contrib nuget 包才能找到这些对象。
    • 嗨 Cristian Libardo,我也在寻找它,但我正在使用 Lucene.Net v 2.9.4g 和 sensenet,但没有 Lucene.Net.Highlight 库。有什么方法可以获取 Lucene.Net.Highlight 库的源代码或 dll 吗?谢谢
    猜你喜欢
    • 2014-03-07
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多