|
|
@@ -14,7 +14,6 @@ import org.elasticsearch.action.admin.indices.refresh.RefreshRequest;
|
|
|
import org.elasticsearch.action.index.IndexRequest;
|
|
|
import org.elasticsearch.action.index.IndexRequestBuilder;
|
|
|
import org.elasticsearch.action.search.SearchPhaseExecutionException;
|
|
|
-import org.elasticsearch.action.search.SearchResponse;
|
|
|
import org.elasticsearch.cluster.health.ClusterHealthStatus;
|
|
|
import org.elasticsearch.common.settings.Settings;
|
|
|
import org.elasticsearch.index.query.MoreLikeThisQueryBuilder;
|
|
|
@@ -41,8 +40,10 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCountAndNoFailures;
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
|
|
|
+import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse;
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertOrderedSearchHits;
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertRequestBuilderThrows;
|
|
|
+import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse;
|
|
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSearchHits;
|
|
|
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
|
|
|
import static org.hamcrest.Matchers.equalTo;
|
|
|
@@ -225,26 +226,36 @@ public class MoreLikeThisIT extends ESIntegTestCase {
|
|
|
);
|
|
|
|
|
|
logger.info("Running moreLikeThis on beta shard");
|
|
|
- SearchResponse response = prepareSearch("beta").setQuery(
|
|
|
- new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
- ).get();
|
|
|
- assertHitCount(response, 1L);
|
|
|
- assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
-
|
|
|
+ assertResponse(
|
|
|
+ prepareSearch("beta").setQuery(
|
|
|
+ new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
+ ),
|
|
|
+ response -> {
|
|
|
+ assertHitCount(response, 1L);
|
|
|
+ assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
+ }
|
|
|
+ );
|
|
|
logger.info("Running moreLikeThis on release shard");
|
|
|
- response = prepareSearch("release").setQuery(
|
|
|
- new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
- ).get();
|
|
|
- assertHitCount(response, 1L);
|
|
|
- assertThat(response.getHits().getAt(0).getId(), equalTo("2"));
|
|
|
+ assertResponse(
|
|
|
+ prepareSearch("release").setQuery(
|
|
|
+ new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
+ ),
|
|
|
+ response -> {
|
|
|
+ assertHitCount(response, 1L);
|
|
|
+ assertThat(response.getHits().getAt(0).getId(), equalTo("2"));
|
|
|
+ }
|
|
|
+ );
|
|
|
|
|
|
logger.info("Running moreLikeThis on alias with node client");
|
|
|
- response = internalCluster().coordOnlyNodeClient()
|
|
|
- .prepareSearch("beta")
|
|
|
- .setQuery(new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1))
|
|
|
- .get();
|
|
|
- assertHitCount(response, 1L);
|
|
|
- assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
+ assertResponse(
|
|
|
+ internalCluster().coordOnlyNodeClient()
|
|
|
+ .prepareSearch("beta")
|
|
|
+ .setQuery(new MoreLikeThisQueryBuilder(null, new Item[] { new Item("test", "1") }).minTermFreq(1).minDocFreq(1)),
|
|
|
+ response -> {
|
|
|
+ assertHitCount(response, 1L);
|
|
|
+ assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
// Issue #14944
|
|
|
@@ -267,11 +278,15 @@ public class MoreLikeThisIT extends ESIntegTestCase {
|
|
|
).actionGet();
|
|
|
refresh(indexName);
|
|
|
|
|
|
- SearchResponse response = prepareSearch().setQuery(
|
|
|
- new MoreLikeThisQueryBuilder(null, new Item[] { new Item(aliasName, "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
- ).get();
|
|
|
- assertHitCount(response, 2L);
|
|
|
- assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
+ assertResponse(
|
|
|
+ prepareSearch().setQuery(
|
|
|
+ new MoreLikeThisQueryBuilder(null, new Item[] { new Item(aliasName, "1") }).minTermFreq(1).minDocFreq(1)
|
|
|
+ ),
|
|
|
+ response -> {
|
|
|
+ assertHitCount(response, 2L);
|
|
|
+ assertThat(response.getHits().getAt(0).getId(), equalTo("3"));
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
public void testMoreLikeThisIssue2197() throws Exception {
|
|
|
@@ -620,13 +635,14 @@ public class MoreLikeThisIT extends ESIntegTestCase {
|
|
|
.minDocFreq(1)
|
|
|
.minimumShouldMatch(minimumShouldMatch);
|
|
|
logger.info("Testing with minimum_should_match = {}", minimumShouldMatch);
|
|
|
- SearchResponse response = prepareSearch("test").setQuery(mltQuery).get();
|
|
|
- assertNoFailures(response);
|
|
|
- if (minimumShouldMatch.equals("0%")) {
|
|
|
- assertHitCount(response, 10);
|
|
|
- } else {
|
|
|
- assertHitCount(response, 11 - i);
|
|
|
- }
|
|
|
+ final int finalI = i;
|
|
|
+ assertNoFailuresAndResponse(prepareSearch("test").setQuery(mltQuery), response -> {
|
|
|
+ if (minimumShouldMatch.equals("0%")) {
|
|
|
+ assertHitCount(response, 10);
|
|
|
+ } else {
|
|
|
+ assertHitCount(response, 11 - finalI);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -773,8 +789,7 @@ public class MoreLikeThisIT extends ESIntegTestCase {
|
|
|
);
|
|
|
moreLikeThisQueryBuilder.minTermFreq(1);
|
|
|
moreLikeThisQueryBuilder.minDocFreq(1);
|
|
|
- SearchResponse searchResponse = prepareSearch("index").setQuery(moreLikeThisQueryBuilder).get();
|
|
|
- assertEquals(2, searchResponse.getHits().getTotalHits().value);
|
|
|
+ assertHitCount(prepareSearch("index").setQuery(moreLikeThisQueryBuilder), 2L);
|
|
|
}
|
|
|
|
|
|
// Issue #29678
|