Fixing review comments.

This commit is contained in:
Isabel Drost-Fromm 2015-06-17 11:18:32 +02:00
parent 907cdc61f7
commit 5e9106ae5e
3 changed files with 12 additions and 7 deletions

View File

@ -39,7 +39,7 @@ public class SimpleQueryStringBuilder extends QueryBuilder implements BoostableQ
private String queryName;
private String minimumShouldMatch;
private int flags = -1;
private float boost = 1.0f;
private float boost = -1.0f;
private Boolean lowercaseExpandedTerms;
private Boolean lenient;
private Boolean analyzeWildcard;
@ -210,7 +210,7 @@ public class SimpleQueryStringBuilder extends QueryBuilder implements BoostableQ
builder.field("minimum_should_match", minimumShouldMatch);
}
if (boost != 1.0f) {
if (boost != -1.0f) {
builder.field("boost", boost);
}

View File

@ -234,8 +234,11 @@ public class SimpleQueryStringParser implements QueryParser {
if (minimumShouldMatch != null && query instanceof BooleanQuery) {
Queries.applyMinimumShouldMatch((BooleanQuery) query, minimumShouldMatch);
}
query.setBoost(boost);
if (query != null) {
query.setBoost(boost);
}
return query;
}
}

View File

@ -60,12 +60,14 @@ public class SimpleQueryStringTests extends ElasticsearchIntegrationTest {
assertHitCount(searchResponse, 3l);
assertSearchHits(searchResponse, "1", "2", "3");
// Tests boost value setting. In this case doc 1 should always be ranked above the other
// two matches.
searchResponse = client().prepareSearch().setQuery(
boolQuery()
.should(simpleQueryStringQuery("foo").boost(-10.0f))
.should(simpleQueryStringQuery("\"foo bar\"").boost(10.0f))
.should(termQuery("body", "eggplant"))).get();
assertHitCount(searchResponse, 3l);
assertFirstHit(searchResponse, hasId("4"));
assertHitCount(searchResponse, 2l);
assertFirstHit(searchResponse, hasId("3"));
searchResponse = client().prepareSearch().setQuery(
simpleQueryStringQuery("foo bar").defaultOperator(SimpleQueryStringBuilder.Operator.AND)).get();