Skip to content

Commit f9c60da

Browse files
committed
Skip blank highlight terms in WildcardQueryCommand after wildcard stripping (#2875)
1 parent 6351506 commit f9c60da

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/main/java/org/codelibs/fess/query/WildcardQueryCommand.java

+13-3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.logging.log4j.Logger;
2323
import org.apache.lucene.search.Query;
2424
import org.apache.lucene.search.WildcardQuery;
25+
import org.codelibs.core.lang.StringUtil;
2526
import org.codelibs.fess.Constants;
2627
import org.codelibs.fess.entity.QueryContext;
2728
import org.codelibs.fess.exception.InvalidQueryException;
@@ -59,15 +60,21 @@ protected QueryBuilder convertWildcardQuery(final QueryContext context, final Wi
5960
if (Constants.DEFAULT_FIELD.equals(field)) {
6061
final String text = wildcardQuery.getTerm().text();
6162
context.addFieldLog(field, text);
62-
context.addHighlightedQuery(StringUtils.strip(text, "*"));
63+
final String highlightText = StringUtils.strip(text, "*");
64+
if (StringUtil.isNotBlank(highlightText)) {
65+
context.addHighlightedQuery(highlightText);
66+
}
6367
return buildDefaultQueryBuilder(fessConfig, context,
6468
(f, b) -> QueryBuilders.wildcardQuery(f, toLowercaseWildcard(text)).boost(b * boost));
6569
}
6670

6771
if (isSearchField(field)) {
6872
final String text = wildcardQuery.getTerm().text();
6973
context.addFieldLog(field, text);
70-
context.addHighlightedQuery(StringUtils.strip(text, "*"));
74+
final String highlightText = StringUtils.strip(text, "*");
75+
if (StringUtil.isNotBlank(highlightText)) {
76+
context.addHighlightedQuery(highlightText);
77+
}
7178
return QueryBuilders.wildcardQuery(field, toLowercaseWildcard(text)).boost(boost);
7279
}
7380

@@ -82,7 +89,10 @@ protected QueryBuilder convertWildcardQuery(final QueryContext context, final Wi
8289
}
8390
final String origQuery = queryBuf.toString();
8491
context.addFieldLog(Constants.DEFAULT_FIELD, origQuery);
85-
context.addHighlightedQuery(StringUtils.strip(query, "*"));
92+
final String highlightText = StringUtils.strip(query, "*");
93+
if (StringUtil.isNotBlank(highlightText)) {
94+
context.addHighlightedQuery(highlightText);
95+
}
8696
return buildDefaultQueryBuilder(fessConfig, context, (f, b) -> QueryBuilders.wildcardQuery(f, origQuery).boost(b * boost));
8797
}
8898

0 commit comments

Comments
 (0)