fix #1606 check highlight title lengh

This commit is contained in:
Shinsuke Sugaya 2018-04-14 12:27:36 +09:00
parent 3973e86ef5
commit e218496af3

View file

@ -148,10 +148,11 @@ public class ViewHelper {
public String getContentTitle(final Map<String, Object> document) {
final FessConfig fessConfig = ComponentUtil.getFessConfig();
final int size = fessConfig.getResponseMaxTitleLengthAsInteger();
String title =
DocumentUtil.getValue(document, ComponentUtil.getQueryHelper().getHighlightPrefix() + fessConfig.getIndexFieldTitle(),
String.class);
if (StringUtil.isBlank(title)) {
if (StringUtil.isBlank(title) || title.length() > size - 3) {
title = DocumentUtil.getValue(document, fessConfig.getIndexFieldTitle(), String.class);
if (StringUtil.isBlank(title)) {
title = DocumentUtil.getValue(document, fessConfig.getIndexFieldFilename(), String.class);
@ -163,7 +164,6 @@ public class ViewHelper {
} else {
title = escapeHighlight(title).replaceAll("\\.\\.\\.$", StringUtil.EMPTY);
}
final int size = fessConfig.getResponseMaxTitleLengthAsInteger();
if (size > -1) {
return StringUtils.abbreviate(title, size);
} else {