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

ハイライト変数は StringBuilder です。お役に立てれば。

于 2012-11-13T15:14:37.973 に答える