|
@@ -212,7 +212,8 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
try {
|
|
|
SearchPhaseResult searchPhaseResult = service.executeQueryPhase(
|
|
|
new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.DEFAULT,
|
|
|
- new SearchSourceBuilder(), new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f),
|
|
|
+ new SearchSourceBuilder(), new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f,
|
|
|
+ true),
|
|
|
new SearchTask(123L, "", "", "", null, Collections.emptyMap()));
|
|
|
IntArrayList intCursors = new IntArrayList(1);
|
|
|
intCursors.add(0);
|
|
@@ -248,7 +249,7 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
new String[0],
|
|
|
false,
|
|
|
new AliasFilter(null, Strings.EMPTY_ARRAY),
|
|
|
- 1.0f)
|
|
|
+ 1.0f, true)
|
|
|
);
|
|
|
try {
|
|
|
// the search context should inherit the default timeout
|
|
@@ -268,7 +269,7 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
new String[0],
|
|
|
false,
|
|
|
new AliasFilter(null, Strings.EMPTY_ARRAY),
|
|
|
- 1.0f)
|
|
|
+ 1.0f, true)
|
|
|
);
|
|
|
try {
|
|
|
// the search context should inherit the query timeout
|
|
@@ -296,12 +297,12 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
searchSourceBuilder.docValueField("field" + i);
|
|
|
}
|
|
|
try (SearchContext context = service.createContext(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.DEFAULT,
|
|
|
- searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f))) {
|
|
|
+ searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f, true))) {
|
|
|
assertNotNull(context);
|
|
|
searchSourceBuilder.docValueField("one_field_too_much");
|
|
|
IllegalArgumentException ex = expectThrows(IllegalArgumentException.class,
|
|
|
() -> service.createContext(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.DEFAULT,
|
|
|
- searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f)));
|
|
|
+ searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f, true)));
|
|
|
assertEquals(
|
|
|
"Trying to retrieve too many docvalue_fields. Must be less than or equal to: [100] but was [101]. "
|
|
|
+ "This limit can be set by changing the [index.max_docvalue_fields_search] index level setting.",
|
|
@@ -327,13 +328,13 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
new Script(ScriptType.INLINE, MockScriptEngine.NAME, CustomScriptPlugin.DUMMY_SCRIPT, Collections.emptyMap()));
|
|
|
}
|
|
|
try (SearchContext context = service.createContext(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.DEFAULT,
|
|
|
- searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f))) {
|
|
|
+ searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f, true))) {
|
|
|
assertNotNull(context);
|
|
|
searchSourceBuilder.scriptField("anotherScriptField",
|
|
|
new Script(ScriptType.INLINE, MockScriptEngine.NAME, CustomScriptPlugin.DUMMY_SCRIPT, Collections.emptyMap()));
|
|
|
IllegalArgumentException ex = expectThrows(IllegalArgumentException.class,
|
|
|
() -> service.createContext(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.DEFAULT,
|
|
|
- searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f)));
|
|
|
+ searchSourceBuilder, new String[0], false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1.0f, true)));
|
|
|
assertEquals(
|
|
|
"Trying to retrieve too many script_fields. Must be less than or equal to: [" + maxScriptFields + "] but was ["
|
|
|
+ (maxScriptFields + 1)
|
|
@@ -403,28 +404,30 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
|
|
|
final IndicesService indicesService = getInstanceFromNode(IndicesService.class);
|
|
|
final IndexService indexService = indicesService.indexServiceSafe(resolveIndex("index"));
|
|
|
final IndexShard indexShard = indexService.getShard(0);
|
|
|
+ final boolean allowPartialSearchResults = true;
|
|
|
assertTrue(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH, null,
|
|
|
- Strings.EMPTY_ARRAY, false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ Strings.EMPTY_ARRAY, false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1f, allowPartialSearchResults)));
|
|
|
|
|
|
assertTrue(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH,
|
|
|
- new SearchSourceBuilder(), Strings.EMPTY_ARRAY, false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ new SearchSourceBuilder(), Strings.EMPTY_ARRAY, false, new AliasFilter(null, Strings.EMPTY_ARRAY), 1f,
|
|
|
+ allowPartialSearchResults)));
|
|
|
|
|
|
assertTrue(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH,
|
|
|
new SearchSourceBuilder().query(new MatchAllQueryBuilder()), Strings.EMPTY_ARRAY, false,
|
|
|
- new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ new AliasFilter(null, Strings.EMPTY_ARRAY), 1f, allowPartialSearchResults)));
|
|
|
|
|
|
assertTrue(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH,
|
|
|
new SearchSourceBuilder().query(new MatchNoneQueryBuilder())
|
|
|
.aggregation(new TermsAggregationBuilder("test", ValueType.STRING).minDocCount(0)), Strings.EMPTY_ARRAY, false,
|
|
|
- new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ new AliasFilter(null, Strings.EMPTY_ARRAY), 1f, allowPartialSearchResults)));
|
|
|
assertTrue(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH,
|
|
|
new SearchSourceBuilder().query(new MatchNoneQueryBuilder())
|
|
|
.aggregation(new GlobalAggregationBuilder("test")), Strings.EMPTY_ARRAY, false,
|
|
|
- new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ new AliasFilter(null, Strings.EMPTY_ARRAY), 1f, allowPartialSearchResults)));
|
|
|
|
|
|
assertFalse(service.canMatch(new ShardSearchLocalRequest(indexShard.shardId(), 1, SearchType.QUERY_THEN_FETCH,
|
|
|
new SearchSourceBuilder().query(new MatchNoneQueryBuilder()), Strings.EMPTY_ARRAY, false,
|
|
|
- new AliasFilter(null, Strings.EMPTY_ARRAY), 1f)));
|
|
|
+ new AliasFilter(null, Strings.EMPTY_ARRAY), 1f, allowPartialSearchResults)));
|
|
|
|
|
|
}
|
|
|
|