Skip to content

Commit 0950040

Browse files
committed
Merge branch 'main' into span-queries
2 parents 6d1e770 + a9f14e9 commit 0950040

File tree

254 files changed

+21590
-5925
lines changed

Some content is hidden

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

254 files changed

+21590
-5925
lines changed

.github/vale/styles/Vocab/OpenSearch/Products/accept.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ Amazon OpenSearch Serverless
66
Amazon OpenSearch Service
77
Amazon Bedrock
88
Amazon SageMaker
9+
AWS Secrets Manager
910
Ansible
1011
Anthropic Claude
1112
Auditbeat
1213
AWS Cloud
1314
Cohere Command
15+
Cohere Embed
1416
Cohere Embed English
1517
Cohere Embed Multilingual
1618
Cognito
@@ -50,6 +52,7 @@ Kerberos
5052
Kibana
5153
Kubernetes
5254
Lambda
55+
Langflow
5356
Linux
5457
Log4j
5558
Logstash
@@ -93,6 +96,7 @@ Ruby
9396
Simple Schema for Observability
9497
Tableau
9598
Textract
99+
Titan
96100
Titan Multimodal Embeddings
97101
Titan Text Embeddings
98102
TorchScript

.github/workflows/automerge-backport.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
MERGE_LABELS: "backport-automerge,!On hold"
2626
MERGE_FILTER_AUTHOR: "opensearch-trigger-bot[bot]"
2727
MERGE_REQUIRED_APPROVALS: "1"
28-
MERGE_RETRIES: "20"
28+
MERGE_RETRIES: "30"
2929
MERGE_RETRY_SLEEP: "10000"
3030
MERGE_ERROR_FAIL: "true"
3131
MERGE_FORKS: "false"

.vale.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ BlockIgnores = {%-?\s*comment[.|\s|\S]*?endcomment\s*-?%}, \
1212
{%\s+[^%]*%}
1313

1414
# ignore variables
15-
TokenIgnores = [a-zA-Z_]+((?:_|\.)[a-zA-Z]+)+
16-
15+
TokenIgnores = [_a-zA-Z][_a-zA-Z0-9]*(?:[_\.][_a-zA-Z0-9]+)+
16+
1717
# override Vale spelling
1818
Vale.Spelling = NO
1919
Vale.Repetition = NO

DEVELOPER_GUIDE.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
The `.md` documents in this repository are rendered into HTML pages using [Jekyll](https://jekyllrb.com/). These HTML pages are hosted on [opensearch.org](https://opensearch.org/docs/latest/).
1515

1616
## Starting the Jekyll server locally
17+
1718
You can run the Jekyll server locally to view the rendered HTML pages using the following steps:
1819

1920
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/) 3.1.0 or later for your operating system.
@@ -22,6 +23,7 @@ You can run the Jekyll server locally to view the rendered HTML pages using the
2223
4. Open your browser and navigate to `http://localhost:4000` to view the rendered HTML pages.
2324

2425
## Using the `spec-insert` Jekyll plugin
26+
2527
The `spec-insert` Jekyll plugin is used to insert API components into Markdown files. The plugin downloads the [latest OpenSearch specification](https://github.com/opensearch-project/opensearch-api-specification) and renders the API components from the spec. This aims to reduce the manual effort required to keep the documentation up to date.
2628

2729
To use this plugin, make sure that you have installed Ruby 3.1.0 or later and the required gems by running `bundle install`.
@@ -52,7 +54,7 @@ If you are working on multiple Markdown files and do not want to keep running th
5254
bundle exec jekyll spec-insert -W
5355
```
5456

55-
By default, when the plugin encounters an error when processing a file, the plugin prints out the error than moves on to the next file. If you want it to short-circuit when an error occurs, add the `--fail-on-error` (or `-F`) flag to the command:
57+
By default, when the plugin encounters an error when processing a file, the plugin prints out the error then moves on to the next file. If you want it to short-circuit when an error occurs, add the `--fail-on-error` (or `-F`) flag to the command:
5658

5759
```shell
5860
bundle exec jekyll spec-insert -F
@@ -67,24 +69,28 @@ bundle exec jekyll spec-insert --refresh-spec
6769
```
6870

6971
### Ignoring files and folders
72+
7073
The `spec-insert` plugin ignores all files and folders listed in the [./_config.yml#exclude](./_config.yml) list, which is also the list of files and folders that Jekyll ignores.
7174

7275
### Configuration
76+
7377
You can update the configuration settings for this plugin through the [config.yml](./spec-insert/config.yml) file.
7478

75-
_Note that tests for this plugin use a mock configuration [file](./spec-insert/spec/mock_config.yml) to assure that the tests still pass when the config file is altered. The expected output for the tests is based on the mock configuration file and will look different from the actual output when the plugin is run._
79+
**Note:** The tests for this plugin use a mock configuration [file](./spec-insert/spec/mock_config.yml) to assure that the tests still pass when the config file is altered. The expected output for the tests is based on the mock configuration file and will look different from the actual output when the plugin is run.
7680

7781
## CI/CD
7882
The `spec-insert` plugin is run as part of the CI/CD pipeline to ensure that the API components are up to date in the documentation. This is performed through the [update-api-components.yml](.github/workflows/update-api-components.yml) GitHub Actions workflow, which creates a pull request containing the updated API components every Sunday.
7983

8084
## Spec insert components
8185
All spec insert components accept the following arguments:
86+
8287
- `api` (String; required): The name of the API to render the component from. This is equivalent to the `x-operation-group` field in the OpenSearch OpenAPI Spec.
8388
- `component` (String; required): The name of the component to render, such as `query_parameters`, `path_parameters`, or `endpoints`.
8489
- `omit_header` (Boolean; Default is `false`): If set to `true`, the markdown header of the component will not be rendered.
8590

8691
### Endpoints
8792
To insert endpoints for the `search` API, use the following snippet:
93+
8894
```markdown
8995
<!-- spec_insert_start
9096
api: search
@@ -104,10 +110,13 @@ component: path_parameters
104110
-->
105111
<!-- spec_insert_end -->
106112
```
113+
107114
This table accepts the same arguments as the query parameters table except the `include_global` argument.
108115

109116
### Query parameters
117+
110118
To insert the API query parameters table of the `cat.indices` API, use the following snippet:
119+
111120
```markdown
112121
<!-- spec_insert_start
113122
api: cat.indices
@@ -144,3 +153,28 @@ pretty: true
144153
-->
145154
<!-- spec_insert_end -->
146155
```
156+
157+
### Request and response bodies (Beta)
158+
159+
To insert the request and response body tables of the `indices.create` API, use the following snippet:
160+
161+
```markdown
162+
<!-- spec_insert_start
163+
api: indices.create
164+
component: request_body_parameters // or response_body_parameters
165+
-->
166+
<!-- spec_insert_end -->
167+
```
168+
169+
**Note:**: These components are still a work in progress and may not render correctly for all APIs.
170+
171+
## Spec insert coverage report
172+
To generate a coverage report of the API components that are being used in the documentation, run the following command:
173+
174+
```shell
175+
cd spec-insert
176+
bundle exec rake generate_utilization_coverage
177+
```
178+
179+
The coverage report will be generated in the `spec-insert/utilization_coverage.md` by default.
180+

FORMATTING_GUIDE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ This guide provides an overview of the formatted elements commonly used in the O
99
* [Adding pages or sections](#adding-pages-or-sections)
1010
* [Buttons](#buttons)
1111
* [Callouts](#callouts)
12+
* [Cards](#cards)
1213
* [Collapsible blocks](#collapsible-blocks)
1314
* [Dashes](#dashes)
1415
* [Horizontal rule](#horizontal-rule)
@@ -22,6 +23,7 @@ This guide provides an overview of the formatted elements commonly used in the O
2223
* [Nested lists](#nested-lists)
2324
* [Lists with code snippets or images](#lists-with-code-snippets-or-images)
2425
* [Math](#math)
26+
* [Steps](#steps)
2527
* [Tables](#tables)
2628
* [Text style](#text-style)
2729
* [Variables in curly braces](#variables-in-curly-braces)
@@ -109,6 +111,27 @@ For a callout with multiple paragraphs or lists, use `>`:
109111
110112
```
111113

114+
## Cards
115+
116+
To add a card to a page, specify it in the front matter as follows. The `description`, `link`, and `list` are optional. Use relative links. You can optionally style the text using HTML tags:
117+
118+
```yaml
119+
tutorial_cards:
120+
- heading: "Getting started with semantic and hybrid search"
121+
description: "Learn how to implement semantic and hybrid search"
122+
link: "/vector-search/tutorials/neural-search-tutorial/"
123+
list:
124+
- "<b>Platform:</b> OpenSearch"
125+
- "<b>Model:</b> Anthropic Claude"
126+
- "<b>Deployment:</b> Amazon Bedrock"
127+
```
128+
129+
Insert an include in the page body where you want the cards to appear:
130+
131+
```
132+
{% include cards.html cards=page.tutorial_cards %}
133+
```
134+
112135
## Collapsible blocks
113136

114137
To insert an open collapsible block, use the `<details>` element as follows:
@@ -405,6 +428,26 @@ Alternatively, you can use double dollar signs (`$$`) for both display and inlin
405428
The probability of selecting pair $$i$$ is proportional to $$1 \over i^\alpha$$.
406429
```
407430

431+
## Steps
432+
433+
To insert steps, specify them in the front matter as follows. Steps are automatically numbered. Use relative links. The `description` and `link` are optional:
434+
435+
```yaml
436+
steps:
437+
- heading: "Create an OpenSearch index"
438+
description: "Create an OpenSearch index to store your embeddings."
439+
link: "/vector-search/creating-vector-index/#storing-raw-vectors-or-embeddings-generated-outside-of-opensearch"
440+
- heading: "Ingest embeddings"
441+
description: "Ingest your embeddings into the index."
442+
link: "/vector-search/ingesting-data/#raw-vector-ingestion"
443+
```
444+
445+
Insert an include in the page body where you want the steps to appear:
446+
447+
```
448+
{% include list.html list_items=page.steps%}
449+
```
450+
408451
## Tables
409452

410453
Markdown table columns are automatically sized, and there is no need to specify a different number of dashes in the formatting.

_about/breaking-changes.md

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,121 @@ A Lucene upgrade forced OpenSearch to drop support for JDK 8. As a consequence,
4141

4242
### Wildcard query behavior for text fields
4343

44-
OpenSearch 2.5 contains a bug fix to correct the behavior of the `case_insensitive` parameter for the `wildcard` query on text fields. As a result, a wildcard query on text fields that ignored case sensitivity and erroneously returned results prior to the bug fix will not return the same results. For more information, see issue [#8711](https://github.com/opensearch-project/OpenSearch/issues/8711).
44+
OpenSearch 2.5 contains a bug fix that corrects the behavior of the `case_insensitive` parameter for the `wildcard` query on text fields. As a result, a wildcard query on text fields that ignored case sensitivity and erroneously returned results prior to the bug fix will not return the same results. For more information, see issue [#8711](https://github.com/opensearch-project/OpenSearch/issues/8711).
45+
46+
## 3.0.0
47+
48+
### JDK requirement
49+
50+
The minimum supported JDK version is JDK 21.
51+
52+
### System index access
53+
54+
Access to system indexes through the REST API is no longer provided. This functionality has been deprecated since OpenSearch 1.x. For more information, see issue [#7936](https://github.com/opensearch-project/OpenSearch/issues/7936).
55+
56+
### Document ID length limits
57+
58+
The document ID length limit of 512 bytes is now consistently enforced across all APIs, including the Bulk API. Previously, the Bulk API allowed document IDs longer than 512 bytes. For more information, see issue [#6595](https://github.com/opensearch-project/OpenSearch/issues/6595).
59+
60+
### Node role configuration
61+
62+
The configuration of empty node roles using environment variables has been fixed. Setting `node.roles=` using environment variables now properly configures a coordinating-only node, consistent with the `opensearch.yml` configuration. For more information, see issue [#3412](https://github.com/opensearch-project/OpenSearch/issues/3412).
63+
64+
### JSON processing limits
65+
66+
New default limits have been introduced for JSON processing (using the Jackson library) throughout OpenSearch:
67+
68+
- The maximum nesting depth of JSON objects and arrays is limited to 1,000 levels.
69+
- The maximum length of JSON property names is limited to 50,000 units (bytes or chars, depending on the input source).
70+
71+
These limits help prevent potential memory issues and denial-of-service attacks. For more information, see issue [#11278](https://github.com/opensearch-project/OpenSearch/issues/11278).
72+
73+
### Nested query depth
74+
75+
A new `index.query.max_nested_depth` setting has been introduced with a default value of `20` and a minimum value of `1`, limiting the maximum number of nesting levels for `nested` queries. For more information, see issue [#3268](https://github.com/opensearch-project/OpenSearch/issues/3268).
76+
77+
### Thread pool settings
78+
79+
The following deprecated thread pool settings have been removed:
80+
- `thread_pool.test.max_queue_size`
81+
- `thread_pool.test.min_queue_size`
82+
For more information, see issue [#2595](https://github.com/opensearch-project/OpenSearch/issues/2595).
83+
84+
### Index store settings
85+
86+
The `index.store.hybrid.mmap.extensions` setting has been removed as part of improvements to `hybridfs` file handling. For more information, see pull request [#9392](https://github.com/opensearch-project/OpenSearch/pull/9392).
87+
88+
### Transport Nio plugin
89+
90+
The `transport-nio` plugin has been removed. Netty remains the standard network framework for both node-to-node and client-to-server communication. For more information, see issue [#16887](https://github.com/opensearch-project/OpenSearch/issues/16887).
91+
92+
### Nodes API response format
93+
94+
The format of indexing buffer values in the Nodes API response has changed:
95+
96+
- `total_indexing_buffer_in_bytes` now displays raw bytes (for example, `53687091`).
97+
- `total_indexing_buffer` now displays human-readable format (for example, `51.1mb`).
98+
99+
For more information, see pull request [#17070](https://github.com/opensearch-project/OpenSearch/pull/17070).
100+
101+
### PathHierarchy tokenizer
102+
103+
The camel case `PathHierarchy` tokenizer name has been deprecated in favor of the snake case `path_hierarchy`. For more information, see pull request [#10894](https://github.com/opensearch-project/OpenSearch/pull/10894).
104+
105+
### Security plugin
106+
107+
The Blake2b hash implementation now uses the salt parameter correctly, which will result in different (though correct) hash values compared to previous versions. For more information, see pull request [#5089](https://github.com/opensearch-project/security/pull/5089).
108+
109+
### k-NN plugin
110+
111+
The following deprecated settings have been removed from the k-NN plugin:
112+
113+
- `knn.plugin.enabled` setting
114+
- `index.knn.algo_param.ef_construction` index setting
115+
- `index.knn.algo_param.m` index setting
116+
- `index.knn.space_type` index setting
117+
118+
The NMSLIB engine is now deprecated. We recommend using the Faiss or Lucene engines instead.
119+
120+
For more information, see pull request [#2564](https://github.com/opensearch-project/k-NN/pull/2564).
121+
122+
### Performance Analyzer plugin
123+
124+
The `performance-analyzer-rca` agent has been removed. We recommend transitioning to the [Telemetry plugin](https://github.com/opensearch-project/performance-analyzer/issues/585) for performance monitoring and analysis. The Telemetry plugin, using the OpenTelemetry framework, allows for seamless integration with lightweight open-source agents in order to publish performance metrics to observability stores. For more information, see issue [#591](https://github.com/opensearch-project/performance-analyzer-rca/issues/591).
125+
126+
### SQL plugin
127+
128+
- The OpenSearch query domain-specific language (DSL) response format has been removed.
129+
- `DELETE` statement support has been removed.
130+
- The `plugins.sql.delete.enabled` setting has been removed.
131+
- The legacy Spark Connector module has been deprecated. For information about connecting to Spark, see [`async-query-core`](https://github.com/opensearch-project/sql/blob/main/async-query-core/README.md).
132+
- Deprecated OpenDistro endpoints and legacy settings with the `opendistro` prefix have been removed.
133+
- The `plugins.sql.pagination.api` has been removed and the Scroll API has been deprecated. Pagination now defaults to Point in Time.
134+
135+
For more information, see issue [#3248](https://github.com/opensearch-project/sql/issues/3248).
136+
137+
### OpenSearch Dashboards
138+
139+
- Discover experience:
140+
141+
- The `discover:newExperience` setting has been removed.
142+
- The DataGrid table feature has been removed.
143+
144+
For more information, see pull request [#9511](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/9511).
145+
146+
- Visualizations: The `dashboards-visualizations` plugin (including Gantt chart visualization) has been removed. We recommend transitioning to:
147+
148+
- Vega visualization for flexible visualization needs.
149+
- Trace analytics for trace-related use cases.
150+
151+
For more information, see issue [#430](https://github.com/opensearch-project/dashboards-visualizations/issues/430).
152+
153+
### Dashboards Observability plugin
154+
155+
The legacy notebooks feature has been removed from `dashboards-observability`. Key changes include the following:
156+
157+
- Legacy notebooks (previously stored in the `.opensearch-observability` index) are no longer supported.
158+
- Only notebooks stored in the `.kibana` index (introduced in version 2.17) are supported.
159+
- You must migrate your notebooks to the new storage system before upgrading to version 3.0.
160+
161+
For more information, see issue [#2350](https://github.com/opensearch-project/dashboards-observability/issues/2350).

0 commit comments

Comments
 (0)