|
36 | 36 | import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
|
37 | 37 | import org.elasticsearch.search.SearchHit;
|
38 | 38 | import org.elasticsearch.search.SearchHits;
|
39 |
| -import org.elasticsearch.search.collapse.CollapseBuilder; |
40 | 39 | import org.elasticsearch.search.rescore.QueryRescoreMode;
|
41 | 40 | import org.elasticsearch.search.rescore.QueryRescorerBuilder;
|
42 | 41 | import org.elasticsearch.search.sort.SortBuilders;
|
43 | 42 | import org.elasticsearch.test.ESIntegTestCase;
|
44 | 43 |
|
45 |
| -import java.io.IOException; |
46 | 44 | import java.util.Arrays;
|
47 | 45 | import java.util.Comparator;
|
48 |
| -import java.util.Map; |
49 |
| -import java.util.stream.Collectors; |
50 | 46 |
|
51 | 47 | import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_REPLICAS;
|
52 | 48 | import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_SHARDS;
|
|
71 | 67 | import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertThirdHit;
|
72 | 68 | import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.hasId;
|
73 | 69 | import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.hasScore;
|
74 |
| -import static org.hamcrest.Matchers.containsInAnyOrder; |
75 | 70 | import static org.hamcrest.Matchers.containsString;
|
76 | 71 | import static org.hamcrest.Matchers.equalTo;
|
77 | 72 | import static org.hamcrest.Matchers.greaterThan;
|
@@ -753,65 +748,4 @@ public void testRescorePhaseWithInvalidSort() throws Exception {
|
753 | 748 | assertThat(hit.getScore(), equalTo(101f));
|
754 | 749 | }
|
755 | 750 | }
|
756 |
| - |
757 |
| - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/28932") |
758 |
| - public void testRescoreAfterCollapse() throws Exception { |
759 |
| - assertAcked(prepareCreate("test") |
760 |
| - .addMapping( |
761 |
| - "type1", |
762 |
| - jsonBuilder() |
763 |
| - .startObject() |
764 |
| - .startObject("properties") |
765 |
| - .startObject("group") |
766 |
| - .field("type", "keyword") |
767 |
| - .endObject() |
768 |
| - .endObject() |
769 |
| - .endObject()) |
770 |
| - ); |
771 |
| - |
772 |
| - ensureGreen("test"); |
773 |
| - |
774 |
| - indexDocument(1, "miss", "a", 1, 10); |
775 |
| - indexDocument(2, "name", "a", 2, 20); |
776 |
| - indexDocument(3, "name", "b", 2, 30); |
777 |
| - // should be highest on rescore, but filtered out during collapse |
778 |
| - indexDocument(4, "name", "b", 1, 40); |
779 |
| - |
780 |
| - refresh("test"); |
781 |
| - |
782 |
| - SearchResponse searchResponse = client().prepareSearch("test") |
783 |
| - .setTypes("type1") |
784 |
| - .setQuery(staticScoreQuery("static_score")) |
785 |
| - .addRescorer(new QueryRescorerBuilder(staticScoreQuery("static_rescore"))) |
786 |
| - .setCollapse(new CollapseBuilder("group")) |
787 |
| - .get(); |
788 |
| - |
789 |
| - assertThat(searchResponse.getHits().totalHits, equalTo(3L)); |
790 |
| - assertThat(searchResponse.getHits().getHits().length, equalTo(2)); |
791 |
| - |
792 |
| - Map<String, Float> collapsedHits = Arrays |
793 |
| - .stream(searchResponse.getHits().getHits()) |
794 |
| - .collect(Collectors.toMap(SearchHit::getId, SearchHit::getScore)); |
795 |
| - |
796 |
| - assertThat(collapsedHits.keySet(), containsInAnyOrder("2", "3")); |
797 |
| - assertThat(collapsedHits.get("2"), equalTo(22F)); |
798 |
| - assertThat(collapsedHits.get("3"), equalTo(32F)); |
799 |
| - } |
800 |
| - |
801 |
| - private QueryBuilder staticScoreQuery(String scoreField) { |
802 |
| - return functionScoreQuery(termQuery("name", "name"), ScoreFunctionBuilders.fieldValueFactorFunction(scoreField)) |
803 |
| - .boostMode(CombineFunction.REPLACE); |
804 |
| - } |
805 |
| - |
806 |
| - private void indexDocument(int id, String name, String group, int score, int rescore) throws IOException { |
807 |
| - XContentBuilder docBuilder =jsonBuilder() |
808 |
| - .startObject() |
809 |
| - .field("name", name) |
810 |
| - .field("group", group) |
811 |
| - .field("static_score", score) |
812 |
| - .field("static_rescore", rescore) |
813 |
| - .endObject(); |
814 |
| - |
815 |
| - client().prepareIndex("test", "type1", Integer.toString(id)).setSource(docBuilder).get(); |
816 |
| - } |
817 | 751 | }
|
0 commit comments