Skip to content

Commit 05cf404

Browse files
authored
Merge branch 'main' into esql-string-contains
2 parents 22f89a2 + e0296d0 commit 05cf404

File tree

43 files changed

+711
-230
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+711
-230
lines changed

docs/changelog/132959.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 132959
2+
summary: Adds the `v_hamming` function for calculating the Hamming distance between two dense vectors
3+
area: ES|QL
4+
type: feature
5+
issues: [132056]
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)

docs/reference/query-languages/esql/_snippets/functions/description/v_hamming.md

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/examples/v_hamming.md

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/layout/v_hamming.md

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/parameters/v_hamming.md

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/images/functions/v_hamming.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/reference/query-languages/esql/kibana/definition/functions/v_hamming.json

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/docs/functions/v_hamming.md

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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++) {

0 commit comments

Comments
 (0)