You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _about/version-history.md
+1
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ permalink: /version-history/
9
9
10
10
OpenSearch version | Release highlights | Release date
11
11
:--- | :--- | :---
12
+
[2.19.2](https://github.com/opensearch-project/opensearch-build/blob/main/release-notes/opensearch-release-notes-2.19.2.md) | Improves query insights with better index handling, a new verbose API parameter, and a default index template. Fixes bugs across Query Insights, Observability, Flow Framework, and Dashboards. Includes multiple CVE fixes, test enhancements, and a new PGP key for artifact verification. For a full list of release highlights, see the Release Notes. | 29 April 2025
12
13
[2.19.1](https://github.com/opensearch-project/opensearch-build/blob/main/release-notes/opensearch-release-notes-2.19.1.md) | Adds execution hint for cardinality aggregator. Includes bug fixes for ML Commons, Query Insights Dashboards, and Remote Metadata SDK. Contains maintenance updates for several components. For a full list of release highlights, see the Release Notes. | 27 February 2025
13
14
[2.19.0](https://github.com/opensearch-project/opensearch-build/blob/main/release-notes/opensearch-release-notes-2.19.0.md) | Adds workload management, additional query insights, and template queries. Introduces a query insights page to OpenSearch Dashboards. Includes improvements and bug fixes to snapshots, search statistics, star-tree search, and index management. For a full list of release highlights, see the Release Notes. | 11 February 2025
14
15
[2.18.0](https://github.com/opensearch-project/opensearch-build/blob/main/release-notes/opensearch-release-notes-2.18.0.md) | Adds a redesigned home page, updated Discover interface, and collaborative workspaces to OpenSearch Dashboards. Includes improvements to ML inference processor and query grouping. Introduces reranking by field and paginated CAT APIs. Includes experimental OpenSearch Dashboards Assistant capabilities. For a full list of release highlights, see the Release Notes. | 05 November 2024
Copy file name to clipboardExpand all lines: _aggregations/metric/geobounds.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ redirect_from:
9
9
10
10
# Geobounds aggregation
11
11
12
-
The `geo_bounds` aggregation is a multi-value aggregation that calculates the [geographic bounding box](https://docs.ogc.org/is/12-063r5/12-063r5.html#30) encompassing a set of [`geo_point`](https://opensearch.org/docs/latest/field-types/supported-field-types/geo-point/) or [`geo_shape`](https://opensearch.org/docs/latest/field-types/supported-field-types/geo-shape/) objects. The bounding box is returned as the upper-left and lower-right vertices of the rectangle given as a decimal-encoded latitude-longitude (lat-lon) pair.
12
+
The `geo_bounds` aggregation is a multi-value aggregation that calculates the [geographic bounding box](https://docs.ogc.org/is/12-063r5/12-063r5.html#30) encompassing a set of [`geo_point`]({{site.url}}{{site.baseurl}}/field-types/supported-field-types/geo-point/) or [`geo_shape`]({{site.url}}{{site.baseurl}}/field-types/supported-field-types/geo-shape/) objects. The bounding box is returned as the upper-left and lower-right vertices of the rectangle given as a decimal-encoded latitude-longitude (lat-lon) pair.
Copy file name to clipboardExpand all lines: _aggregations/metric/percentile-ranks.md
+27-1
Original file line number
Diff line number
Diff line change
@@ -43,4 +43,30 @@ GET opensearch_dashboards_sample_data_ecommerce/_search
43
43
}
44
44
}
45
45
}
46
-
```
46
+
```
47
+
48
+
This response indicates that the value `10` is at the `5.5`th percentile and the value `15` is at the `8.3`rd percentile.
49
+
50
+
As with the `percentiles` aggregation, you can control the level of approximation by setting the optional `tdigest.compression` field. A larger value increases the precision of the approximation but uses more heap space. The default value is 100.
51
+
52
+
For example, use the following request to set `compression` to `200`:
53
+
54
+
```json
55
+
GET opensearch_dashboards_sample_data_ecommerce/_search
Copy file name to clipboardExpand all lines: _aggregations/metric/percentile.md
+21
Original file line number
Diff line number
Diff line change
@@ -51,3 +51,24 @@ GET opensearch_dashboards_sample_data_ecommerce/_search
51
51
}
52
52
}
53
53
```
54
+
55
+
You can control the level of approximation using the optional `tdigest.compression` field. A larger value indicates that the data structure that approximates percentiles is more accurate but uses more heap space. The default value is 100.
56
+
57
+
For example, use the following request to set `compression` to `200`:
58
+
59
+
```json
60
+
GET opensearch_dashboards_sample_data_ecommerce/_search
Copy file name to clipboardExpand all lines: _analyzers/search-analyzers.md
+102-15
Original file line number
Diff line number
Diff line change
@@ -22,14 +22,12 @@ To determine which analyzer to use for a query string at query time, OpenSearch
22
22
In most cases, specifying a search analyzer that is different from the index analyzer is not necessary and could negatively impact search result relevance or lead to unexpected search results.
23
23
{: .warning}
24
24
25
-
For information about verifying which analyzer is associated with which field, see [Verifying analyzer settings]({{site.url}}{{site.baseurl}}/analyzers/index/#verifying-analyzer-settings).
25
+
## Specifying a search analyzer at query time
26
26
27
-
## Specifying a search analyzer for a query string
28
-
29
-
Specify the name of the analyzer you want to use at query time in the `analyzer` field:
27
+
You can override the default analyzer behavior by explicitly setting the analyzer in the query. The following query uses the `english` analyzer to stem the input terms:
30
28
31
29
```json
32
-
GET shakespeare/_search
30
+
GET /shakespeare/_search
33
31
{
34
32
"query": {
35
33
"match": {
@@ -43,16 +41,16 @@ GET shakespeare/_search
43
41
```
44
42
{% include copy-curl.html %}
45
43
46
-
For more information about supported analyzers, see [Analyzers]({{site.url}}{{site.baseurl}}/analyzers/supported-analyzers/index/).
44
+
## Specifying a search analyzer in the mappings
47
45
48
-
## Specifying a search analyzerfor a field
46
+
When defining mappings, you can provide both the `analyzer` (used at index time) and `search_analyzer` (used at query time) for any [`text`]({{site.url}}{{site.baseurl}}/field-types/supported-field-types/text/) field.
49
47
50
-
When creating index mappings, you can provide the `search_analyzer` parameter for each [text]({{site.url}}{{site.baseurl}}/field-types/supported-field-types/text/) field. When providing the `search_analyzer`, you must also provide the `analyzer` parameter, which specifies the [index analyzer]({{site.url}}{{site.baseurl}}/analyzers/index-analyzers/) to be used at indexing time.
48
+
### Example: Different analyzers for indexing and search
51
49
52
-
For example, the following request specifies the `simple` analyzer as the index analyzer and the `whitespace` analyzer as the search analyzer for the `text_entry` field:
50
+
The following configuration allows different tokenization strategies for indexing and querying:
53
51
54
52
```json
55
-
PUT testindex
53
+
PUT /testindex
56
54
{
57
55
"mappings": {
58
56
"properties": {
@@ -67,14 +65,100 @@ PUT testindex
67
65
```
68
66
{% include copy-curl.html %}
69
67
70
-
##Specifying the default search analyzer for an index
68
+
### Example: Using the edge n-gram analyzer for indexing and the standard analyzer for search
71
69
72
-
If you want to analyze all query strings at search time with the same analyzer, you can specify the search analyzer in the `analysis.analyzer.default_search` setting. When providing the `analysis.analyzer.default_search`, you must also provide the `analysis.analyzer.default` parameter, which specifies the [index analyzer]({{site.url}}{{site.baseurl}}/analyzers/index-analyzers/) to be used at indexing time.
70
+
The following configuration enables [autocomplete]({{site.url}}{{site.baseurl}}/search-plugins/searching-data/autocomplete/)-like behavior, where you can type the beginning of a word and still receive relevant matches:
73
71
74
-
For example, the following request specifies the `simple` analyzer as the index analyzer and the `whitespace` analyzer as the search analyzer for the `testindex` index:
72
+
```json
73
+
PUT /articles
74
+
{
75
+
"settings": {
76
+
"analysis": {
77
+
"analyzer": {
78
+
"edge_ngram_analyzer": {
79
+
"tokenizer": "edge_ngram_tokenizer",
80
+
"filter": ["lowercase"]
81
+
}
82
+
},
83
+
"tokenizer": {
84
+
"edge_ngram_tokenizer": {
85
+
"type": "edge_ngram",
86
+
"min_gram": 2,
87
+
"max_gram": 10,
88
+
"token_chars": ["letter", "digit"]
89
+
}
90
+
}
91
+
}
92
+
},
93
+
"mappings": {
94
+
"properties": {
95
+
"title": {
96
+
"type": "text",
97
+
"analyzer": "edge_ngram_analyzer",
98
+
"search_analyzer": "standard"
99
+
}
100
+
}
101
+
}
102
+
}
103
+
```
104
+
{% include copy-curl.html %}
105
+
106
+
The `edge_ngram_analyzer` is applied at index time, breaking input strings into partial prefixes (n-grams), which allows the index to store fragments like "se", "sea", "sear", and so on.
107
+
Use the following request to index a document:
75
108
76
109
```json
77
-
PUT testindex
110
+
PUT /articles/_doc/1
111
+
{
112
+
"title": "Search Analyzer in Action"
113
+
}
114
+
```
115
+
{% include copy-curl.html %}
116
+
117
+
Use the following request to search for the partial word `sear` in the `title` field:
118
+
119
+
```json
120
+
POST /articles/_search
121
+
{
122
+
"query": {
123
+
"match": {
124
+
"title": "sear"
125
+
}
126
+
}
127
+
}
128
+
```
129
+
{% include copy-curl.html %}
130
+
131
+
The response demonstrates that the query containing "sear" matches the document "Search Analyzer in Action" because the n-gram tokens generated at index time include that prefix. This mirrors the [autocomplete functionality]({{site.url}}{{site.baseurl}}/search-plugins/searching-data/autocomplete/), in which typing a prefix can retrieve full matches:
132
+
133
+
```json
134
+
{
135
+
...
136
+
"hits": {
137
+
"total": {
138
+
"value": 1,
139
+
"relation": "eq"
140
+
},
141
+
"max_score": 0.2876821,
142
+
"hits": [
143
+
{
144
+
"_index": "articles",
145
+
"_id": "1",
146
+
"_score": 0.2876821,
147
+
"_source": {
148
+
"title": "Search Analyzer in Action"
149
+
}
150
+
}
151
+
]
152
+
}
153
+
}
154
+
```
155
+
156
+
## Setting a default search analyzer for an index
157
+
158
+
Specify `analysis.analyzer.default_search` to define a search analyzer for all fields unless overridden:
159
+
160
+
```json
161
+
PUT /testindex
78
162
{
79
163
"settings": {
80
164
"analysis": {
@@ -89,6 +173,9 @@ PUT testindex
89
173
}
90
174
}
91
175
}
92
-
93
176
```
94
177
{% include copy-curl.html %}
178
+
179
+
This configuration ensures consistent behavior across multiple fields, especially when using custom analyzers.
180
+
181
+
For more information about supported analyzers, see [Analyzers]({{site.url}}{{site.baseurl}}/analyzers/supported-analyzers/index/).
Copy file name to clipboardExpand all lines: _api-reference/document-apis/bulk.md
-3
Original file line number
Diff line number
Diff line change
@@ -44,9 +44,6 @@ require_alias | Boolean | Set to `true` to require that all actions target an in
44
44
routing | String | Routes the request to the specified shard.
45
45
timeout | Time | How long to wait for the request to return. Default is `1m`.
46
46
wait_for_active_shards | String | Specifies the number of active shards that must be available before OpenSearch processes the bulk request. Default is `1` (only the primary shard). Set to `all` or a positive integer. Values greater than 1 require replicas. For example, if you specify a value of 3, the index must have 2 replicas distributed across 2 additional nodes in order for the request to succeed.
0 commit comments