私は solr 3.5 を使用しており、検索クエリで を設定hl.fragsize = 100
しましたが、フラグメントに正確に 100 文字が含まれていません。実際、平均フラグメント サイズは 120 です。
誰でもこの問題について考えられますか?
私は solr 3.5 を使用しており、検索クエリで を設定hl.fragsize = 100
しましたが、フラグメントに正確に 100 文字が含まれていません。実際、平均フラグメント サイズは 120 です。
誰でもこの問題について考えられますか?
hl.regex.slop パラメータを確認してください。
http://wiki.apache.org/solr/HighlightingParameters#hl.regex.slop
たぶん、次のような後処理を行うだけです
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 です。お役に立てれば。