4

我正在使用 solr 3.5,并在我的搜索查询中设置hl.fragsize = 100,但我的片段不包含 100 个字符,实际上,平均片段大小为 120。

任何人都可以对这个问题有所了解吗?

4

2 回答 2

1

查看 hl.regex.slop 参数。

http://wiki.apache.org/solr/HighlightingParameters#hl.regex.slop

于 2013-08-13T12:41:00.473 回答
-1

也许只是做一些后处理,比如

if (highlight.length() > HIGHLIGHT_MAX_LENGTH) {
    int idx = highlight.toString().indexOf(" ", HIGHLIGHT_MAX_LENGTH);
    String excerpt = StringUtils.left(highlight.toString(), idx);
    if (!excerpt.endsWith(".")) {
            return excerpt + HIGHLIGHT_MORE;
    }
    return excerpt;
}

高亮 var 是一个 StringBuilder。希望这可以帮助。

于 2012-11-13T15:14:37.973 回答