|
|
@@ -560,7 +560,7 @@ public class DecayFunctionScoreTests extends AbstractSharedClusterTest {
|
|
|
.add(new MatchAllFilterBuilder(), linearDecayFunction("date", "2013-05-30", "+15d"))
|
|
|
.add(new MatchAllFilterBuilder(), linearDecayFunction("geo", lonlat, "1000km"))
|
|
|
.add(new MatchAllFilterBuilder(),
|
|
|
- linearDecayFunction("num", Integer.toString(numDocs), Integer.toString(numDocs / 2)))
|
|
|
+ linearDecayFunction("num", numDocs, numDocs / 2.0))
|
|
|
.scoreMode("multiply").boostMode(CombineFunction.REPLACE.getName()))));
|
|
|
|
|
|
SearchResponse sr = response.actionGet();
|
|
|
@@ -623,8 +623,29 @@ public class DecayFunctionScoreTests extends AbstractSharedClusterTest {
|
|
|
searchRequest().searchType(SearchType.QUERY_THEN_FETCH).source(
|
|
|
searchSource().explain(true).query(
|
|
|
functionScoreQuery(termQuery("test", "value")).add(new MatchAllFilterBuilder(),
|
|
|
- linearDecayFunction("num", Integer.toString(1), Integer.toString(1 / 2))).scoreMode("multiply"))));
|
|
|
+ linearDecayFunction("num", 1.0, 0.5)).scoreMode("multiply"))));
|
|
|
response.actionGet();
|
|
|
}
|
|
|
+ @Test
|
|
|
+ public void testNoQueryGiven() throws Exception {
|
|
|
+ assertAcked(prepareCreate("test").addMapping("type",
|
|
|
+ jsonBuilder().startObject().startObject("type").startObject("properties")
|
|
|
+ .startObject("test").field("type", "string").endObject()
|
|
|
+ .startObject("num").field("type", "double").endObject()
|
|
|
+ .endObject().endObject().endObject()));
|
|
|
+ ensureYellow();
|
|
|
+ client().index(
|
|
|
+ indexRequest("test").type("type").source(
|
|
|
+ jsonBuilder().startObject().field("test", "value").field("num", 1.0).endObject())).actionGet();
|
|
|
+ refresh();
|
|
|
+ // so, we indexed a string field, but now we try to score a num field
|
|
|
+ ActionFuture<SearchResponse> response = client().search(
|
|
|
+ searchRequest().searchType(SearchType.QUERY_THEN_FETCH).source(
|
|
|
+ searchSource().explain(true).query(
|
|
|
+ functionScoreQuery().add(new MatchAllFilterBuilder(),
|
|
|
+ linearDecayFunction("num", 1, 0.5)).scoreMode("multiply"))));
|
|
|
+ response.actionGet();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|