1

我正在使用 lucene.net 2.9.4 和 lucene.net contrib 2.9.4 我的 lucene 查询如下所示:

+contents:umbraco*

我得到了这个查询的结果。我获取片段的荧光笔代码如下所示:

public string GetHighlight(string value, string highlightField, IndexSearcher searcher, string luceneRawQuery)
    {
        var query = GetQueryParser(highlightField).Parse(luceneRawQuery);

        var scorer = new QueryScorer(searcher.Rewrite(query));

        var highlighter = new Highlighter(HighlightFormatter, scorer);

        var tokenStream = HighlightAnalyzer.TokenStream(highlightField, new StringReader(value));

        return highlighter.GetBestFragments(tokenStream, value, MaxNumHighlights, Separator);
    }

在我的记分器对象中,属性 termsToFind 是 0 我希望它至少是一个?有人对如何修复/调试有任何想法或建议吗?

问候

伊斯梅尔

4

1 回答 1

1

好的,我发现我将错误的值传递给荧光笔功能。我正在传递查询搜索词和字段名称。我需要传入的是每个文档匹配的内容字段的内容和查询词。现在都在工作。

于 2017-03-31T09:52:08.633 回答