|
@@ -307,7 +307,8 @@ public class QueryHelper implements Serializable {
|
|
|
final String field = wildcardQuery.getField();
|
|
|
if (Constants.DEFAULT_FIELD.equals(field)) {
|
|
|
context.addFieldLog(field, wildcardQuery.getTerm().text());
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.wildcardQuery(f, wildcardQuery.getTerm().text()).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.wildcardQuery(f, wildcardQuery.getTerm().text()).boost(
|
|
|
+ b * wildcardQuery.getBoost()));
|
|
|
} else if (isSearchField(field)) {
|
|
|
context.addFieldLog(field, wildcardQuery.getTerm().text());
|
|
|
return QueryBuilders.wildcardQuery(field, wildcardQuery.getTerm().text()).boost(wildcardQuery.getBoost());
|
|
@@ -315,7 +316,7 @@ public class QueryHelper implements Serializable {
|
|
|
final String origQuery = wildcardQuery.getTerm().toString();
|
|
|
context.addFieldLog(Constants.DEFAULT_FIELD, origQuery);
|
|
|
context.addHighlightedQuery(origQuery);
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.wildcardQuery(f, origQuery).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.wildcardQuery(f, origQuery).boost(b * wildcardQuery.getBoost()));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -323,7 +324,8 @@ public class QueryHelper implements Serializable {
|
|
|
final String field = prefixQuery.getField();
|
|
|
if (Constants.DEFAULT_FIELD.equals(field)) {
|
|
|
context.addFieldLog(field, prefixQuery.getPrefix().text());
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.prefixQuery(f, prefixQuery.getPrefix().text()).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.prefixQuery(f, prefixQuery.getPrefix().text()).boost(
|
|
|
+ b * prefixQuery.getBoost()));
|
|
|
} else if (isSearchField(field)) {
|
|
|
context.addFieldLog(field, prefixQuery.getPrefix().text());
|
|
|
return QueryBuilders.prefixQuery(field, prefixQuery.getPrefix().text()).boost(prefixQuery.getBoost());
|
|
@@ -331,7 +333,7 @@ public class QueryHelper implements Serializable {
|
|
|
final String origQuery = prefixQuery.getPrefix().toString();
|
|
|
context.addFieldLog(Constants.DEFAULT_FIELD, origQuery);
|
|
|
context.addHighlightedQuery(origQuery);
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.prefixQuery(f, origQuery).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.prefixQuery(f, origQuery).boost(b * prefixQuery.getBoost()));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -342,7 +344,7 @@ public class QueryHelper implements Serializable {
|
|
|
if (Constants.DEFAULT_FIELD.equals(field)) {
|
|
|
context.addFieldLog(field, term.text());
|
|
|
return buildDefaultQueryBuilder((f, b) -> QueryBuilders.fuzzyQuery(f, term.text())
|
|
|
- .fuzziness(Fuzziness.fromEdits(fuzzyQuery.getMaxEdits())).boost(b));
|
|
|
+ .fuzziness(Fuzziness.fromEdits(fuzzyQuery.getMaxEdits())).boost(b * fuzzyQuery.getBoost()));
|
|
|
} else if (isSearchField(field)) {
|
|
|
context.addFieldLog(field, term.text());
|
|
|
return QueryBuilders.fuzzyQuery(field, term.text()).boost(fuzzyQuery.getBoost())
|
|
@@ -352,7 +354,7 @@ public class QueryHelper implements Serializable {
|
|
|
context.addFieldLog(Constants.DEFAULT_FIELD, origQuery);
|
|
|
context.addHighlightedQuery(origQuery);
|
|
|
return buildDefaultQueryBuilder((f, b) -> QueryBuilders.fuzzyQuery(f, origQuery)
|
|
|
- .fuzziness(Fuzziness.fromEdits(fuzzyQuery.getMaxEdits())).boost(b));
|
|
|
+ .fuzziness(Fuzziness.fromEdits(fuzzyQuery.getMaxEdits())).boost(b * fuzzyQuery.getBoost()));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -395,7 +397,7 @@ public class QueryHelper implements Serializable {
|
|
|
} else if (Constants.DEFAULT_FIELD.equals(field)) {
|
|
|
context.addFieldLog(field, text);
|
|
|
context.addHighlightedQuery(text);
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, text).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, text).boost(b * termQuery.getBoost()));
|
|
|
} else if ("sort".equals(field)) {
|
|
|
final String[] values = text.split("\\.");
|
|
|
if (values.length > 2) {
|
|
@@ -430,7 +432,7 @@ public class QueryHelper implements Serializable {
|
|
|
final String origQuery = termQuery.toString();
|
|
|
context.addFieldLog(Constants.DEFAULT_FIELD, origQuery);
|
|
|
context.addHighlightedQuery(origQuery);
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, origQuery).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, origQuery).boost(b * termQuery.getBoost()));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -445,7 +447,7 @@ public class QueryHelper implements Serializable {
|
|
|
final String text = String.join(" ", texts);
|
|
|
context.addFieldLog(field, text);
|
|
|
StreamUtil.of(texts).forEach(t -> context.addHighlightedQuery(t));
|
|
|
- return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, text).boost(b));
|
|
|
+ return buildDefaultQueryBuilder((f, b) -> QueryBuilders.matchPhraseQuery(f, text).boost(b * query.getBoost()));
|
|
|
}
|
|
|
|
|
|
private boolean isSearchField(final String field) {
|