Skip to content

Commit e82fc56

Browse files
committed
working version
1 parent 826bbad commit e82fc56

File tree

1 file changed

+22
-49
lines changed

1 file changed

+22
-49
lines changed

x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/patternedtext/PatternedTextRandomTests.java

Lines changed: 22 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -7,48 +7,26 @@
77

88
package org.elasticsearch.xpack.logsdb.patternedtext;
99

10-
import org.elasticsearch.ResourceNotFoundException;
11-
import org.elasticsearch.action.ActionType;
1210
import org.elasticsearch.action.DocWriteRequest;
1311
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
14-
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
1512
import org.elasticsearch.action.admin.indices.refresh.RefreshRequest;
1613
import org.elasticsearch.action.bulk.BulkRequest;
1714
import org.elasticsearch.action.bulk.BulkResponse;
1815
import org.elasticsearch.action.index.IndexRequest;
19-
import org.elasticsearch.action.search.SearchRequest;
20-
import org.elasticsearch.action.search.SearchRequestBuilder;
21-
import org.elasticsearch.action.search.SearchResponse;
2216
import org.elasticsearch.action.support.IndicesOptions;
23-
import org.elasticsearch.action.support.master.AcknowledgedResponse;
2417
import org.elasticsearch.common.settings.Settings;
2518
import org.elasticsearch.common.time.DateFormatter;
26-
import org.elasticsearch.common.util.CollectionUtils;
27-
import org.elasticsearch.core.Tuple;
28-
import org.elasticsearch.datageneration.queries.LeafQueryGenerator;
29-
import org.elasticsearch.datastreams.DataStreamsPlugin;
30-
import org.elasticsearch.index.IndexMode;
31-
import org.elasticsearch.index.IndexSettings;
32-
import org.elasticsearch.index.mapper.DateFieldMapper;
3319
import org.elasticsearch.index.mapper.extras.MapperExtrasPlugin;
34-
import org.elasticsearch.index.query.MatchQueryBuilder;
3520
import org.elasticsearch.index.query.QueryBuilder;
3621
import org.elasticsearch.index.query.QueryBuilders;
3722
import org.elasticsearch.license.LicenseSettings;
3823
import org.elasticsearch.plugins.Plugin;
3924
import org.elasticsearch.search.SearchHit;
4025
import org.elasticsearch.test.ESIntegTestCase;
4126
import org.elasticsearch.test.ESTestCase;
42-
import org.elasticsearch.test.InternalSettingsPlugin;
43-
import org.elasticsearch.test.hamcrest.ElasticsearchAssertions;
44-
import org.elasticsearch.test.transport.MockTransportService;
45-
import org.elasticsearch.xcontent.XContentBuilder;
4627
import org.elasticsearch.xcontent.XContentFactory;
47-
import org.elasticsearch.xcontent.XContentType;
4828
import org.elasticsearch.xcontent.json.JsonXContent;
4929
import org.elasticsearch.xpack.core.LocalStateCompositeXPackPlugin;
50-
import org.elasticsearch.xpack.core.XPackPlugin;
51-
import org.elasticsearch.xpack.core.security.action.apikey.CreateApiKeyAction;
5230
import org.elasticsearch.xpack.logsdb.LogsDBPlugin;
5331
import org.junit.Before;
5432

@@ -60,28 +38,22 @@
6038
import java.util.concurrent.TimeUnit;
6139
import java.util.stream.Collectors;
6240

63-
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
41+
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse;
42+
6443

6544
public class PatternedTextRandomTests extends ESIntegTestCase {
6645

6746
@Override
6847
protected Settings nodeSettings(int nodeOrdinal, Settings otherSettings) {
6948
return Settings.builder()
7049
.put(super.nodeSettings(nodeOrdinal, otherSettings))
71-
// .put("xpack.license.self_generated.type", "trial")
72-
// .put("cluster.logsdb.enabled", "true")
7350
.put(LicenseSettings.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial")
7451
.build();
7552
}
7653

77-
78-
7954
@Override
8055
protected Collection<Class<? extends Plugin>> nodePlugins() {
81-
// return Arrays.asList(LocalStateCompositeXPackPlugin.class);
8256
return Arrays.asList(MapperExtrasPlugin.class, LogsDBPlugin.class, LocalStateCompositeXPackPlugin.class);
83-
// return CollectionUtils.appendToCopy(super.nodePlugins(), LogsDBPlugin.class, LocalStateCompositeXPackPlugin.class);
84-
// return List.of(InternalSettingsPlugin.class, XPackPlugin.class, LogsDBPlugin.class, DataStreamsPlugin.class);
8557
}
8658

8759
private static final String INDEX = "test_index";
@@ -93,9 +65,8 @@ public void setup() {
9365
assumeTrue("Only when patterned_text feature flag is enabled", PatternedTextFieldMapper.PATTERNED_TEXT_MAPPER.isEnabled());
9466
}
9567

96-
public void test() throws IOException {
68+
public void testQueries() throws IOException {
9769
var settings = Settings.builder();
98-
// var settings = Settings.builder().put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB.getName());
9970
var mappings = XContentFactory.jsonBuilder()
10071
.startObject()
10172
.startObject("properties")
@@ -118,10 +89,12 @@ public void test() throws IOException {
11889
var createResponse = safeGet(admin().indices().create(createRequest));
11990
assertTrue(createResponse.isAcknowledged());
12091

121-
int numDocs = randomIntBetween(1, 300);
92+
int numDocs = randomIntBetween(10, 1000);
12293
List<String> logMessages = generateMessages(numDocs);
12394
indexDocs(logMessages);
12495

96+
int[] numQueriesWithResults = {0};
97+
int[] totalQueries = {0};
12598
for (var message : logMessages) {
12699
List<String> queryTerms = randomQueryParts(message);
127100

@@ -132,24 +105,24 @@ public void test() throws IOException {
132105
var ptQuery = patternedTextQueries.get(i);
133106
var motQuery = matchOnlyQueries.get(i);
134107

135-
var ptResponse = client().prepareSearch(INDEX).setQuery(ptQuery).setSize(numDocs).get();
136-
var motResponse = client().prepareSearch(INDEX).setQuery(motQuery).setSize(numDocs).get();
137-
138-
assertNoFailures(ptResponse);
139-
assertNoFailures(motResponse);
140-
141-
// assertTrue(motResponse.getHits().getTotalHits().value() > 0);
142-
assertEquals(
143-
motResponse.getHits().getTotalHits().value(),
144-
ptResponse.getHits().getTotalHits().value()
145-
);
146-
147-
var motDocIds = Arrays.stream(motResponse.getHits().getHits()).map(SearchHit::getId).collect(Collectors.toSet());
148-
var ptDocIds = Arrays.stream(ptResponse.getHits().getHits()).map(SearchHit::getId).collect(Collectors.toSet());
149-
150-
assertEquals(motDocIds, ptDocIds);
108+
var ptRequest = client().prepareSearch(INDEX).setQuery(ptQuery).setSize(numDocs);
109+
var motRequest = client().prepareSearch(INDEX).setQuery(motQuery).setSize(numDocs);
110+
totalQueries[0]++;
111+
assertNoFailuresAndResponse(ptRequest, ptResponse -> {
112+
assertNoFailuresAndResponse(motRequest, motResponse -> {
113+
assertEquals(motResponse.getHits().getTotalHits().value(), ptResponse.getHits().getTotalHits().value());
114+
115+
if (motResponse.getHits().getTotalHits().value() > 0) {
116+
numQueriesWithResults[0]++;
117+
}
118+
var motDocIds = Arrays.stream(motResponse.getHits().getHits()).map(SearchHit::getId).collect(Collectors.toSet());
119+
var ptDocIds = Arrays.stream(ptResponse.getHits().getHits()).map(SearchHit::getId).collect(Collectors.toSet());
120+
assertEquals(motDocIds, ptDocIds);
121+
});
122+
});
151123
}
152124
}
125+
System.out.println("num queries with results: " + numQueriesWithResults[0] + ", total: " + totalQueries[0]);
153126
}
154127

155128
public List<QueryBuilder> generateQueries(String field, List<String> queryTerms) {

0 commit comments

Comments
 (0)