Skip to content

Commit 3d5d669

Browse files
authored
Merge branch 'main' into update-openjdk240212
2 parents f419a14 + fe44a4d commit 3d5d669

File tree

22 files changed

+317
-213
lines changed

22 files changed

+317
-213
lines changed
Lines changed: 59 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,65 @@
11
# Elasticsearch
22

3-
This section contains reference information for {{es}} and index management features.
3+
{{es}} is a distributed search and analytics engine, scalable data store, and vector database built on Apache Lucene. It’s optimized for speed and relevance on production-scale workloads. Use Elasticsearch to search, index, store, and analyze data of all shapes and sizes in near real time.
44

5-
To learn more about {{es}} features and how to get started, refer to the [{{es}}](docs-content://solutions/search.md) documentation.
5+
## Quick links
66

7-
For more details about query and scripting languages, check these sections:
8-
* [Query languages](../query-languages/index.md)
9-
* [Scripting languages](../scripting-languages/index.md)
7+
:::{dropdown} Useful links
108

11-
{{es}} also provides the following REST APIs:
9+
- [REST API Reference](./rest-apis/index.md)
10+
- [API Conventions](./rest-apis/api-conventions.md)
11+
- [Settings Reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html)
12+
- [Breaking Changes](https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes.html)
13+
- [Compatibility](./rest-apis/compatibility.md)
14+
- [Glossary](https://www.elastic.co/guide/en/elasticsearch/reference/current/glossary.html)
15+
- [Plugin Development](https://www.elastic.co/guide/en/elasticsearch/plugins/current/index.html)
16+
- [Supported Platforms](https://www.elastic.co/support/matrix#matrix_jvm)
17+
:::
1218

13-
* [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch)
14-
* [{{es}} Serverless API](https://www.elastic.co/docs/api/doc/elasticsearch-serverless)
19+
## Setup and architecture
20+
21+
- [Set up Elasticsearch](docs-content://deploy-manage/deploy/self-managed/installing-elasticsearch.md)
22+
- [Secure the Elastic Stack](docs-content://deploy-manage/security.md)
23+
- [Upgrade Elasticsearch](docs-content://deploy-manage/upgrade/deployment-or-cluster.md)
24+
- [Set up a cluster for high availability](docs-content://deploy-manage/tools.md)
25+
- [Stack monitoring](docs-content://deploy-manage/monitor/stack-monitoring.md)
26+
- [Troubleshooting](docs-content://troubleshoot/elasticsearch.md)
27+
- [Optimizations](docs-content://deploy-manage/production-guidance/optimize-performance.md)
28+
29+
## Working with data
30+
31+
- [Adding data to Elasticsearch](docs-content://manage-data/ingest.md)
32+
- [Connectors](https://www.elastic.co/docs/reference/search-connectors)
33+
- [Web crawler](https://www.elastic.co/search-labs/blog/elastic-open-crawler-release)
34+
- [Data streams](docs-content://manage-data/data-store/data-streams.md)
35+
- [Ingest pipelines](docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md)
36+
- [Mapping](docs-content://manage-data/data-store/mapping.md)
37+
- [Data management](docs-content://manage-data/lifecycle.md)
38+
- [Downsampling](docs-content://manage-data/lifecycle.md)
39+
- [Snapshot and restore](docs-content://deploy-manage/tools/snapshot-and-restore.md)
40+
41+
## Search and analytics
42+
43+
{{es}} is the search and analytics engine that powers the {{stack}}.
44+
45+
- [Get started](docs-content://get-started/index.md)
46+
- [Learn how to search your data](docs-content://solutions/search/querying-for-search.md)
47+
- Query data programmatically: use query languages to run advanced search, filtering, or analytics
48+
- [Query DSL](docs-content://explore-analyze/query-filter/languages/querydsl.md): full JSON-based query language
49+
- [ES|QL](docs-content://explore-analyze/query-filter/languages/esql.md): fast, SQL-like language with piped syntax
50+
- [EQL](docs-content://explore-analyze/query-filter/languages/eql.md): for event-based time series data, such as logs, metrics, and traces
51+
- [SQL](docs-content://explore-analyze/query-filter/languages/sql.md): SQL-style queries on Elasticsearch data
52+
- [Search applications](docs-content://solutions/search/search-applications.md)
53+
- [Aggregations](docs-content://explore-analyze/query-filter/aggregations.md)
54+
- [Geospatial analysis](docs-content://explore-analyze/geospatial-analysis.md)
55+
- [Machine Learning](docs-content://explore-analyze/machine-learning.md)
56+
- [Alerting](docs-content://explore-analyze/alerts-cases.md)
57+
58+
## APIs and developer docs
59+
60+
- [REST APIs](https://www.elastic.co/docs/reference/elasticsearch/rest-apis)
61+
- [{{es}} Clients](https://www.elastic.co/docs/reference/elasticsearch-clients)
62+
- [Painless](https://www.elastic.co/docs/reference/scripting-languages/painless/painless)
63+
- [Plugins and integrations](https://www.elastic.co/docs/reference/elasticsearch/plugins)
64+
- [Search Labs](https://www.elastic.co/search-labs)
65+
- [Notebook examples](https://www.elastic.co/search-labs/tutorials/examples)

libs/core/src/test/java/org/elasticsearch/core/GlobTests.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void testMatchLiteral() {
3030
str = randomAlphanumericOfLength(randomIntBetween(1, 12));
3131
assertMatch(str, str);
3232

33-
str = randomAsciiString(randomIntBetween(1, 24), ch -> ch >= ' ' && ch <= '~' && ch != '*');
33+
str = randomAsciiStringNoAsterisks(randomIntBetween(1, 24));
3434
assertMatch(str, str);
3535
}
3636

@@ -67,7 +67,7 @@ public void testPrefixMatch() {
6767
assertNonMatch("123*", "abc123");
6868
assertNonMatch("123*", "abc123def");
6969

70-
var prefix = randomAsciiString(randomIntBetween(2, 12));
70+
var prefix = randomAsciiStringNoAsterisks(randomIntBetween(2, 12));
7171
var pattern = prefix + "*";
7272
assertMatch(pattern, prefix);
7373
assertMatch(pattern, prefix + randomAsciiString(randomIntBetween(1, 30)));
@@ -92,7 +92,7 @@ public void testSuffixMatch() {
9292
assertNonMatch("*123", "123abc");
9393
assertNonMatch("*123", "abc123def");
9494

95-
var suffix = randomAsciiString(randomIntBetween(2, 12));
95+
var suffix = randomAsciiStringNoAsterisks(randomIntBetween(2, 12));
9696
var pattern = "*" + suffix;
9797
assertMatch(pattern, suffix);
9898
assertMatch(pattern, randomAsciiString(randomIntBetween(1, 30)) + suffix);
@@ -114,7 +114,7 @@ public void testInfixStringMatch() {
114114
assertNonMatch("*123*", "12*");
115115
assertNonMatch("*123*", "1.2.3");
116116

117-
var infix = randomAsciiString(randomIntBetween(2, 12));
117+
var infix = randomAsciiStringNoAsterisks(randomIntBetween(2, 12));
118118
var pattern = "*" + infix + "*";
119119
assertMatch(pattern, infix);
120120
assertMatch(pattern, randomAsciiString(randomIntBetween(1, 30)) + infix + randomAsciiString(randomIntBetween(1, 30)));
@@ -138,8 +138,8 @@ public void testInfixAsteriskMatch() {
138138
assertMatch("123*321", "12345678987654321");
139139
assertNonMatch("123*321", "12321");
140140

141-
var prefix = randomAsciiString(randomIntBetween(2, 12));
142-
var suffix = randomAsciiString(randomIntBetween(2, 12));
141+
var prefix = randomAsciiStringNoAsterisks(randomIntBetween(2, 12));
142+
var suffix = randomAsciiStringNoAsterisks(randomIntBetween(2, 12));
143143
var pattern = prefix + "*" + suffix;
144144
assertMatch(pattern, prefix + suffix);
145145
assertMatch(pattern, prefix + randomAsciiString(randomIntBetween(1, 30)) + suffix);
@@ -180,6 +180,10 @@ private String randomAsciiString(int length) {
180180
return randomAsciiString(length, ch -> ch >= ' ' && ch <= '~');
181181
}
182182

183+
private String randomAsciiStringNoAsterisks(final int length) {
184+
return randomAsciiString(length, ch -> ch >= ' ' && ch <= '~' && ch != '*');
185+
}
186+
183187
private String randomAsciiString(int length, CharPredicate validCharacters) {
184188
StringBuilder str = new StringBuilder(length);
185189
nextChar: for (int i = 0; i < length; i++) {

muted-tests.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -489,9 +489,6 @@ tests:
489489
- class: org.elasticsearch.reservedstate.service.FileSettingsServiceIT
490490
method: testSettingsAppliedOnStart
491491
issue: https://github.com/elastic/elasticsearch/issues/131210
492-
- class: org.elasticsearch.index.mapper.vectors.SparseVectorFieldMapperTests
493-
method: testPruningScenarios
494-
issue: https://github.com/elastic/elasticsearch/issues/132810
495492
- class: org.elasticsearch.test.rest.yaml.CcsCommonYamlTestSuiteIT
496493
method: test {p0=search/160_exists_query/Test exists query on mapped date field with no doc values}
497494
issue: https://github.com/elastic/elasticsearch/issues/132828

server/src/main/java/org/elasticsearch/action/admin/cluster/stats/TransportClusterStatsAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import org.elasticsearch.transport.AbstractTransportRequest;
6161
import org.elasticsearch.transport.RemoteClusterConnection;
6262
import org.elasticsearch.transport.RemoteClusterService;
63+
import org.elasticsearch.transport.RemoteClusterSettings;
6364
import org.elasticsearch.transport.RemoteConnectionInfo;
6465
import org.elasticsearch.transport.TransportService;
6566
import org.elasticsearch.transport.Transports;
@@ -493,7 +494,7 @@ void start(Task task, Collection<String> remotes, ActionListener<Map<String, Rem
493494
RemoteClusterStats makeRemoteClusterStats(String clusterAlias) {
494495
RemoteClusterConnection remoteConnection = remoteClusterService.getRemoteClusterConnection(clusterAlias);
495496
RemoteConnectionInfo remoteConnectionInfo = remoteConnection.getConnectionInfo();
496-
var compression = RemoteClusterService.REMOTE_CLUSTER_COMPRESS.getConcreteSettingForNamespace(clusterAlias).get(settings);
497+
var compression = RemoteClusterSettings.REMOTE_CLUSTER_COMPRESS.getConcreteSettingForNamespace(clusterAlias).get(settings);
497498
return new RemoteClusterStats(
498499
remoteConnectionInfo.getModeInfo().modeName(),
499500
remoteConnection.isSkipUnavailable(),

server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
import org.elasticsearch.threadpool.ThreadPool;
135135
import org.elasticsearch.transport.ProxyConnectionStrategy;
136136
import org.elasticsearch.transport.RemoteClusterPortSettings;
137-
import org.elasticsearch.transport.RemoteClusterService;
137+
import org.elasticsearch.transport.RemoteClusterSettings;
138138
import org.elasticsearch.transport.RemoteConnectionStrategy;
139139
import org.elasticsearch.transport.SniffConnectionStrategy;
140140
import org.elasticsearch.transport.TransportService;
@@ -366,13 +366,13 @@ public void apply(Settings value, Settings current, Settings previous) {
366366
SearchService.DEFAULT_ALLOW_PARTIAL_SEARCH_RESULTS,
367367
TransportSearchAction.SHARD_COUNT_LIMIT_SETTING,
368368
TransportSearchAction.DEFAULT_PRE_FILTER_SHARD_SIZE,
369-
RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE,
369+
RemoteClusterSettings.REMOTE_CLUSTER_SKIP_UNAVAILABLE,
370370
SniffConnectionStrategy.REMOTE_CONNECTIONS_PER_CLUSTER,
371-
RemoteClusterService.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING,
372-
RemoteClusterService.REMOTE_NODE_ATTRIBUTE,
373-
RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE,
374-
RemoteClusterService.REMOTE_CLUSTER_COMPRESS,
375-
RemoteClusterService.REMOTE_CLUSTER_COMPRESSION_SCHEME,
371+
RemoteClusterSettings.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING,
372+
RemoteClusterSettings.REMOTE_NODE_ATTRIBUTE,
373+
RemoteClusterSettings.REMOTE_CLUSTER_PING_SCHEDULE,
374+
RemoteClusterSettings.REMOTE_CLUSTER_COMPRESS,
375+
RemoteClusterSettings.REMOTE_CLUSTER_COMPRESSION_SCHEME,
376376
RemoteConnectionStrategy.REMOTE_CONNECTION_MODE,
377377
ProxyConnectionStrategy.PROXY_ADDRESS,
378378
ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS,
@@ -605,7 +605,7 @@ public void apply(Settings value, Settings current, Settings previous) {
605605
SimulatePipelineTransportAction.INGEST_NODE_TRANSPORT_ACTION_TIMEOUT,
606606
WriteAckDelay.WRITE_ACK_DELAY_INTERVAL,
607607
WriteAckDelay.WRITE_ACK_DELAY_RANDOMNESS_BOUND,
608-
RemoteClusterService.REMOTE_CLUSTER_CREDENTIALS,
608+
RemoteClusterSettings.REMOTE_CLUSTER_CREDENTIALS,
609609
RemoteClusterPortSettings.REMOTE_CLUSTER_SERVER_ENABLED,
610610
RemoteClusterPortSettings.HOST,
611611
RemoteClusterPortSettings.PUBLISH_HOST,

server/src/main/java/org/elasticsearch/transport/RemoteClusterAware.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ void validateAndUpdateRemoteCluster(String clusterAlias, Settings settings) {
229229
*/
230230
public void listenForUpdates(ClusterSettings clusterSettings) {
231231
List<Setting.AffixSetting<?>> remoteClusterSettings = List.of(
232-
RemoteClusterService.REMOTE_CLUSTER_COMPRESS,
233-
RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE,
232+
RemoteClusterSettings.REMOTE_CLUSTER_COMPRESS,
233+
RemoteClusterSettings.REMOTE_CLUSTER_PING_SCHEDULE,
234234
RemoteConnectionStrategy.REMOTE_CONNECTION_MODE,
235235
SniffConnectionStrategy.REMOTE_CLUSTERS_PROXY,
236236
SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS,

server/src/main/java/org/elasticsearch/transport/RemoteClusterConnection.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* remote case we only connect to a subset of the nodes in the cluster in an uni-directional fashion.
3838
*
3939
* This class also handles the discovery of nodes from the remote cluster. The initial list of seed nodes is only used to discover all nodes
40-
* in the remote cluster and connects to all eligible nodes, for details see {@link RemoteClusterService#REMOTE_NODE_ATTRIBUTE}.
40+
* in the remote cluster and connects to all eligible nodes, for details see {@link RemoteClusterSettings#REMOTE_NODE_ATTRIBUTE}.
4141
*
4242
* In the case of a disconnection, this class will issue a re-connect task to establish at most
4343
* {@link SniffConnectionStrategy#REMOTE_CONNECTIONS_PER_CLUSTER} until either all eligible nodes are exhausted or the maximum number of
@@ -83,10 +83,10 @@ public final class RemoteClusterConnection implements Closeable {
8383
this.connectionStrategy = RemoteConnectionStrategy.buildStrategy(clusterAlias, transportService, remoteConnectionManager, settings);
8484
// we register the transport service here as a listener to make sure we notify handlers on disconnect etc.
8585
this.remoteConnectionManager.addListener(transportService);
86-
this.skipUnavailable = RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE.getConcreteSettingForNamespace(clusterAlias)
86+
this.skipUnavailable = RemoteClusterSettings.REMOTE_CLUSTER_SKIP_UNAVAILABLE.getConcreteSettingForNamespace(clusterAlias)
8787
.get(settings);
8888
this.threadPool = transportService.threadPool;
89-
initialConnectionTimeout = RemoteClusterService.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING.get(settings);
89+
initialConnectionTimeout = RemoteClusterSettings.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING.get(settings);
9090
}
9191

9292
/**

server/src/main/java/org/elasticsearch/transport/RemoteClusterCredentialsManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.Map;
2222
import java.util.Set;
2323

24-
import static org.elasticsearch.transport.RemoteClusterService.REMOTE_CLUSTER_CREDENTIALS;
24+
import static org.elasticsearch.transport.RemoteClusterSettings.REMOTE_CLUSTER_CREDENTIALS;
2525

2626
public class RemoteClusterCredentialsManager {
2727
private static final Logger logger = LogManager.getLogger(RemoteClusterCredentialsManager.class);

0 commit comments

Comments
 (0)