diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/function/FieldValueFactorFunction.java b/core/src/main/java/org/elasticsearch/common/lucene/search/function/FieldValueFactorFunction.java index 135cb53f65f..8aa4897a8e0 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/function/FieldValueFactorFunction.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/function/FieldValueFactorFunction.java @@ -161,9 +161,6 @@ public class FieldValueFactorFunction extends ScoreFunction { @Override public String toString() { - if (this == NONE) { - return ""; - } return super.toString().toLowerCase(Locale.ROOT); } } diff --git a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreFieldValueTests.java b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreFieldValueTests.java index eef4ed27959..2a780fd9fec 100644 --- a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreFieldValueTests.java +++ b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreFieldValueTests.java @@ -69,6 +69,14 @@ public class FunctionScoreFieldValueTests extends ElasticsearchIntegrationTest { .get(); assertOrderedSearchHits(response, "2", "1"); + // try again, but this time explicitly use the do-nothing modifier + response = client().prepareSearch("test") + .setExplain(randomBoolean()) + .setQuery(functionScoreQuery(simpleQueryStringQuery("foo"), + fieldValueFactorFunction("test").modifier(FieldValueFactorFunction.Modifier.NONE))) + .get(); + assertOrderedSearchHits(response, "2", "1"); + // document 1 scores higher because 1/5 > 1/17 response = client().prepareSearch("test") .setExplain(randomBoolean())