Compare commits

..

21 Commits

Author SHA1 Message Date
ca3b25c929 Upgraded @types/node package to v18 (#2374)
(cherry picked from commit c274b1b32f)
2024-10-14 16:14:16 +00:00
424cc94458 Auto-generated code for 8.15 (#2370) 2024-09-30 13:37:38 -05:00
7aca5cf652 [Backport 8.15] Upgrade transport to 8.8.1 (#2367)
(cherry picked from commit aad41df231)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-09-26 16:42:34 -05:00
a8927727b1 Auto-generated code for 8.15 (#2363) 2024-09-24 10:04:11 -05:00
15a450eba4 Update 8.15 auto-merge action to match main (#2361) 2024-09-03 13:08:33 -05:00
8f028a522a Auto-generated code for 8.15 (#2359) 2024-09-03 09:36:52 -05:00
411f379006 Auto-generated code for 8.15 (#2350) 2024-08-26 13:57:17 -05:00
242b4227ee Auto-generated code for 8.15 (#2342) 2024-08-19 10:52:15 -05:00
78332da539 [Backport 8.15] Add support for auto-merge (#2339)
* Add support for auto-merge

* Fix bad request-converter version

* Switch back to pull_request

pull_request_target is the wrong trigger for this action

(cherry picked from commit 4b8969cc78)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-08-14 10:16:43 -05:00
62b2d78b15 [Backport 8.15] Generate documentation example snippets (#2334)
* Update docs example generation script

* Add docs examples generation to codegen job

(cherry picked from commit 77e2f613f2)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-08-12 13:22:07 -05:00
599d7e6e07 [Backport 8.15] Update changelog for 8.15 (#2333)
(cherry picked from commit 69b243171b)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-08-12 13:08:24 -05:00
6116909a9b [Backport 8.15] Try running auto-approve after other jobs (#2330)
(cherry picked from commit 37b8a33209)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-08-12 12:36:46 -05:00
f609271107 Auto-generated code for 8.15 (#2322) 2024-08-06 11:31:05 -05:00
b4eb8e5441 [Backport 8.15] Added/updated snippets for docs (#2319)
(cherry picked from commit f737290d10)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-07-29 17:10:42 -05:00
ccf9fcbd93 Auto-generated code for 8.15 (#2316) 2024-07-29 10:20:07 -05:00
0c6f323745 Auto-generated code for 8.15 (#2313) 2024-07-24 16:38:15 -05:00
04a9eb462d [DOCS] Comment out broken link breaking docs build (#2311) 2024-07-15 17:55:35 +02:00
05eaa9fc61 Auto-generated code for 8.15 (#2309) 2024-07-09 16:54:55 -05:00
30c6793383 Auto-generated code for 8.15 (#2308) 2024-07-08 13:35:53 -05:00
6df75b6a92 [Backport 8.15] Documentation for OpenTelemetry support (#2302)
* Documentation for OpenTelemetry support

* Update docs/observability.asciidoc

Co-authored-by: Miguel Grinberg <miguel.grinberg@gmail.com>

* Fix docs typo

* Fix bad link references in asciidoc changelog

* Drop link to 8.15 changelog

For now. Link just doesn't work yet.

---------

Co-authored-by: Miguel Grinberg <miguel.grinberg@gmail.com>
(cherry picked from commit 94bf5b2aa7)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-07-02 11:36:42 -05:00
383206ef19 [Backport 8.15] Upgrade transport to 8.7.0 (#2301)
(cherry picked from commit f34bb6aa28)

Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2024-07-01 13:30:57 -05:00
300 changed files with 2232 additions and 7628 deletions

View File

@ -11,6 +11,6 @@ RUN apt-get clean -y && \
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY package.json . COPY package.json .
RUN npm install RUN npm install --production=false
COPY . . COPY . .

View File

@ -24,7 +24,7 @@ USER ${BUILDER_UID}:${BUILDER_GID}
# install dependencies # install dependencies
COPY package.json . COPY package.json .
RUN npm install RUN npm install --production=false
# copy project files # copy project files
COPY . . COPY . .

View File

@ -6,7 +6,7 @@ steps:
env: env:
NODE_VERSION: "{{ matrix.nodejs }}" NODE_VERSION: "{{ matrix.nodejs }}"
TEST_SUITE: "{{ matrix.suite }}" TEST_SUITE: "{{ matrix.suite }}"
STACK_VERSION: 8.16.0 STACK_VERSION: 8.15.0
matrix: matrix:
setup: setup:
suite: suite:

View File

@ -5,4 +5,3 @@ elasticsearch
.git .git
lib lib
junit-output junit-output
.tap

50
.github/ISSUE_TEMPLATE/bug.md vendored Normal file
View File

@ -0,0 +1,50 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
labels: ["Category: Bug"]
---
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
**Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the `Category: Not an issue` label.**
## 🐛 Bug Report
A clear and concise description of what the bug is.
## To Reproduce
Steps to reproduce the behavior:
Paste your code here:
```js
```
<!--
In some cases, it might be challenging to reproduce the bug in a few lines of code.
You can fork the following repository, which contains all the configuration needed
to spin up a three nodes Elasticsearch cluster with security enabled.
The repository also contains a preconfigured client instance that you can use to reproduce the issue.
https://github.com/delvedor/es-reproduce-issue
--->
## Expected behavior
A clear and concise description of what you expected to happen.
Paste the results here:
```js
```
## Your Environment
- *node version*: 6,8,10
- `@elastic/elasticsearch` *version*: >=7.0.0
- *os*: Mac, Windows, Linux
- *any other relevant information*

View File

@ -1,66 +0,0 @@
---
name: 🐛 Bug report
description: Create a report to help us improve
labels: ["Category: Bug"]
body:
- type: markdown
attributes:
value: |
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
**Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the `Category: Not an issue` label.**
- type: textarea
id: bug-report
attributes:
label: 🐛 Bug report
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: To reproduce
description: Steps to reproduce the behavior
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: input
id: node-js-version
attributes:
label: Node.js version
placeholder: 18.x, 20.x, etc.
validations:
required: true
- type: input
id: client-version
attributes:
label: "@elastic/elasticsearch version"
placeholder: 7.17.0, 8.14.1, etc.
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: Ubuntu 22.04, macOS, etc.
validations:
required: true
- type: input
id: env-info
attributes:
label: Any other relevant environment information

23
.github/ISSUE_TEMPLATE/feature.md vendored Normal file
View File

@ -0,0 +1,23 @@
---
name: 🚀 Feature Proposal
about: Submit a proposal for a new feature
labels: ["Category: Feature"]
---
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
**Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the `Category: Not an issue` label.**
## 🚀 Feature Proposal
A clear and concise description of what the feature is.
## Motivation
Please outline the motivation for the proposal.
## Example
Please provide an example for how this feature would be used.

View File

@ -1,33 +0,0 @@
---
name: 🚀 Feature Proposal
description: Submit a proposal for a new feature
labels: ["Category: Feature"]
body:
- type: markdown
attributes:
value: |
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
**Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the `Category: Not an issue` label.**
- type: textarea
id: feature-proposal
attributes:
label: 🚀 Feature Proposal
description: A clear and concise description of what the feature is.
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: Please outline the motivation for the proposal.
- type: textarea
id: example
attributes:
label: Example
description: Please provide an example for how this feature would be used.

11
.github/ISSUE_TEMPLATE/question.md vendored Normal file
View File

@ -0,0 +1,11 @@
---
name: 💬 Questions / Help
about: If you have questions, please check our Gitter or Help repo
labels: ["Category: Question"]
---
## 💬 Questions and Help
### Please note that this issue tracker is not a help forum and this issue may be closed.
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.

View File

@ -1,21 +0,0 @@
---
name: 💬 Questions / Help
description: If you have questions, please check our community forum or support
labels: ["Category: Question"]
body:
- type: markdown
attributes:
value: |
### Please note that this issue tracker is not a help forum and this issue may be closed.
Please check our [community forum](https://discuss.elastic.co/) or [contact Elastic support](https://www.elastic.co/support) if your issue is not specifically related to the documented functionality of this client library.
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
- type: textarea
id: question
attributes:
label: Question
description: Your question or comment
validations:
required: true

6
.github/ISSUE_TEMPLATE/security.md vendored Normal file
View File

@ -0,0 +1,6 @@
---
name: 👮 Security Issue
about: Responsible Disclosure
---
If you want to report a security issue, please take a look at [elastic/security](https://www.elastic.co/community/security).

View File

@ -1,8 +0,0 @@
---
name: 👮 Security Issue
description: Responsible disclosure
body:
- type: markdown
attributes:
value: |
If you want to report a security issue, please take a look at [elastic/security](https://www.elastic.co/community/security).

16
.github/make.sh vendored
View File

@ -37,7 +37,7 @@ product="elastic/elasticsearch-js"
output_folder=".buildkite/output" output_folder=".buildkite/output"
codegen_folder=".buildkite/output" codegen_folder=".buildkite/output"
OUTPUT_DIR="$repo/${output_folder}" OUTPUT_DIR="$repo/${output_folder}"
NODE_JS_VERSION=22 NODE_JS_VERSION=18
WORKFLOW=${WORKFLOW-staging} WORKFLOW=${WORKFLOW-staging}
mkdir -p "$OUTPUT_DIR" mkdir -p "$OUTPUT_DIR"
@ -121,9 +121,9 @@ bumpmatrix)
echo -e "\t $0 bump \$VERSION" echo -e "\t $0 bump \$VERSION"
echo -e "\t $0 codegen \$VERSION" echo -e "\t $0 codegen \$VERSION"
exit 1 exit 1
;;
esac esac
# ------------------------------------------------------- # # ------------------------------------------------------- #
# Build Container # Build Container
# ------------------------------------------------------- # # ------------------------------------------------------- #
@ -150,7 +150,7 @@ if [[ -z "${BUILDKITE+x}" ]] && [[ -z "${CI+x}" ]] && [[ -z "${GITHUB_ACTIONS+x}
-u "$(id -u):$(id -g)" \ -u "$(id -u):$(id -g)" \
--volume "$repo:/usr/src/elasticsearch-js" \ --volume "$repo:/usr/src/elasticsearch-js" \
--volume /usr/src/elasticsearch-js/node_modules \ --volume /usr/src/elasticsearch-js/node_modules \
--volume "$(realpath "$repo/../elastic-client-generator-js"):/usr/src/elastic-client-generator-js" \ --volume "$(realpath $repo/../elastic-client-generator-js):/usr/src/elastic-client-generator-js" \
--env "WORKFLOW=$WORKFLOW" \ --env "WORKFLOW=$WORKFLOW" \
--name make-elasticsearch-js \ --name make-elasticsearch-js \
--rm \ --rm \
@ -159,14 +159,6 @@ if [[ -z "${BUILDKITE+x}" ]] && [[ -z "${CI+x}" ]] && [[ -z "${GITHUB_ACTIONS+x}
node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}" node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}"
else else
echo -e "\033[34;1mINFO: Running in CI mode" echo -e "\033[34;1mINFO: Running in CI mode"
# determine branch to clone
GENERATOR_BRANCH="main"
if [[ "$VERSION" == 8.* ]]; then
GENERATOR_BRANCH="8.x"
fi
echo -e "\033[34;1mINFO: Generator branch: $GENERATOR_BRANCH"
docker run \ docker run \
--volume "$repo:/usr/src/elasticsearch-js" \ --volume "$repo:/usr/src/elasticsearch-js" \
--volume /usr/src/elasticsearch-js/node_modules \ --volume /usr/src/elasticsearch-js/node_modules \
@ -176,7 +168,7 @@ else
--rm \ --rm \
$product \ $product \
/bin/bash -c "cd /usr/src && \ /bin/bash -c "cd /usr/src && \
git clone --branch $GENERATOR_BRANCH https://$CLIENTS_GITHUB_TOKEN@github.com/elastic/elastic-client-generator-js.git && \ git clone https://$CLIENTS_GITHUB_TOKEN@github.com/elastic/elastic-client-generator-js.git && \
mkdir -p /usr/src/elastic-client-generator-js/output && \ mkdir -p /usr/src/elastic-client-generator-js/output && \
cd /usr/src/elasticsearch-js && \ cd /usr/src/elasticsearch-js && \
node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}" node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}"

18
.github/workflows/auto-merge.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Automerge
on:
pull_request_review:
types:
- submitted
jobs:
automerge:
runs-on: ubuntu-latest
if: github.event.review.state == 'approved'
steps:
- uses: reitermarkus/automerge@v2
with:
token: ${{ secrets.GH_TOKEN }}
merge-method: squash
pull-request-author-associations: OWNER
review-author-associations: OWNER,CONTRIBUTOR

View File

@ -11,10 +11,8 @@ jobs:
outputs: outputs:
src-only: "${{ steps.changes.outputs.src-only }}" src-only: "${{ steps.changes.outputs.src-only }}"
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with: - uses: dorny/paths-filter/@v2.11.1
persist-credentials: false
- uses: dorny/paths-filter/@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes id: changes
with: with:
filters: | filters: |
@ -32,16 +30,14 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [18.x, 20.x, 22.x, 23.x] node-version: [18.x, 20.x, 22.x]
os: [ubuntu-latest, windows-latest, macOS-latest] os: [ubuntu-latest, windows-latest, macOS-latest]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with:
persist-credentials: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 uses: actions/setup-node@v4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
@ -57,21 +53,15 @@ jobs:
run: | run: |
npm run test:unit npm run test:unit
- name: ECMAScript module test
run: |
npm run test:esm
license: license:
name: License check name: License check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with:
persist-credentials: false
- name: Use Node.js - name: Use Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 uses: actions/setup-node@v4
with: with:
node-version: 22.x node-version: 22.x
@ -83,38 +73,12 @@ jobs:
run: | run: |
npm run license-checker npm run license-checker
test-bun: auto-approve:
name: Test Bun name: Auto-approve
runs-on: ${{ matrix.os }} needs: [test, license]
needs: paths-filter runs-on: ubuntu-latest
# only run if code relevant to unit tests was changed permissions:
if: needs.paths-filter.outputs.src-only == 'true' pull-requests: write
if: github.actor == 'elasticmachine'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: hmarr/auto-approve-action@v4
with:
persist-credentials: false
- name: Use Bun
uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2
- name: Install
run: |
bun install
- name: Lint
run: |
bun run lint
- name: Unit test
run: |
bun run test:unit-bun
- name: ECMAScript module test
run: |
bun run test:esm

View File

@ -9,16 +9,15 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write contents: read
id-token: write id-token: write
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false
ref: ${{ github.event.inputs.branch }} ref: ${{ github.event.inputs.branch }}
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 - uses: actions/setup-node@v3
with: with:
node-version: "22.x" node-version: "20.x"
registry-url: "https://registry.npmjs.org" registry-url: "https://registry.npmjs.org"
- run: npm install -g npm - run: npm install -g npm
- run: npm install - run: npm install

View File

@ -26,28 +26,26 @@ jobs:
) )
) )
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false
repository: elastic/elasticsearch-js repository: elastic/elasticsearch-js
ref: main ref: main
path: stack path: stack
fetch-depth: 0 fetch-depth: 0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/checkout@v4
with: with:
persist-credentials: false
repository: elastic/elasticsearch-serverless-js repository: elastic/elasticsearch-serverless-js
ref: main ref: main
path: serverless path: serverless
- name: Apply patch from stack to serverless - name: Apply patch from stack to serverless
id: apply-patch id: apply-patch
run: $GITHUB_WORKSPACE/stack/.github/workflows/serverless-patch.sh run: $GITHUB_WORKSPACE/stack/.github/workflows/serverless-patch.sh
- uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6 - uses: peter-evans/create-pull-request@v6
with: with:
token: ${{ secrets.GH_TOKEN }} token: ${{ secrets.GH_TOKEN }}
path: serverless path: serverless
title: "Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}" title: 'Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}'
commit-message: "Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}" commit-message: 'Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}'
body-path: /tmp/pr_body body-path: /tmp/pr_body
draft: "${{ steps.apply-patch.outputs.PR_DRAFT }}" draft: '${{ steps.apply-patch.outputs.PR_DRAFT }}'
add-paths: ":!*.rej" add-paths: ':!*.rej'

View File

@ -8,7 +8,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@1160a2240286f5da8ec72b1c0816ce2481aabf84 # v8 - uses: actions/stale@v8
with: with:
stale-issue-label: stale stale-issue-label: stale
stale-pr-label: stale stale-pr-label: stale

4
.gitignore vendored
View File

@ -64,7 +64,3 @@ test/bundlers/parcel-test/.parcel-cache
lib lib
junit-output junit-output
bun.lockb
test-results
processinfo
.tap

View File

@ -72,5 +72,3 @@ CODE_OF_CONDUCT.md
CONTRIBUTING.md CONTRIBUTING.md
src src
bun.lockb
.tap

View File

@ -42,9 +42,6 @@ spec:
main: main:
branch: "main" branch: "main"
cronline: "@daily" cronline: "@daily"
8_x:
branch: "8.x"
cronline: "@daily"
8_14: 8_14:
branch: "8.16" branch: "8.14"
cronline: "@daily" cronline: "@daily"

View File

@ -252,8 +252,8 @@ const client = new Client({
---- ----
|`disablePrototypePoisoningProtection` |`disablePrototypePoisoningProtection`
|`boolean`, `'proto'`, `'constructor'` - The client can protect you against prototype poisoning attacks. Read https://web.archive.org/web/20200319091159/https://hueniverse.com/square-brackets-are-the-enemy-ff5b9fd8a3e8?gi=184a27ee2a08[this article] to learn more about this security concern. If needed, you can enable prototype poisoning protection entirely (`false`) or one of the two checks (`'proto'` or `'constructor'`). For performance reasons, it is disabled by default. Read the `secure-json-parse` https://github.com/fastify/secure-json-parse[documentation] to learn more. + |`boolean`, `'proto'`, `'constructor'` - By the default the client will protect you against prototype poisoning attacks. Read https://web.archive.org/web/20200319091159/https://hueniverse.com/square-brackets-are-the-enemy-ff5b9fd8a3e8?gi=184a27ee2a08[this article] to learn more. If needed you can disable prototype poisoning protection entirely or one of the two checks. Read the `secure-json-parse` https://github.com/fastify/secure-json-parse[documentation] to learn more. +
_Default:_ `true` _Default:_ `false`
|`caFingerprint` |`caFingerprint`
|`string` - If configured, verify that the fingerprint of the CA certificate that has signed the certificate of the server matches the supplied fingerprint. Only accepts SHA256 digest fingerprints. + |`string` - If configured, verify that the fingerprint of the CA certificate that has signed the certificate of the server matches the supplied fingerprint. Only accepts SHA256 digest fingerprints. +

View File

@ -1,119 +1,6 @@
[[changelog-client]] [[changelog-client]]
== Release notes == Release notes
[discrete]
=== 8.17.0
[discrete]
==== Features
[discrete]
===== Support for Elasticsearch `v8.17`
You can find all the API changes
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/release-notes-8.17.0.html[here].
[discrete]
=== 8.16.3
[discrete]
==== Fixes
[discrete]
===== Improved support for Elasticsearch `v8.16`
Updated TypeScript types based on fixes and improvements to the Elasticsearch specification.
[discrete]
=== 8.16.2
[discrete]
==== Fixes
[discrete]
===== Improved support for Elasticsearch `v8.16`
Updated TypeScript types based on fixes and improvements to the Elasticsearch specification.
[discrete]
===== Drop testing artifacts from npm package
Tap, the unit testing tool used by this project, was recently upgraded and started writing to a `.tap` directory. Since tests are run prior to an `npm publish` in CI, this directory was being included in the published package and bloating its size.
[discrete]
=== 8.16.1
[discrete]
==== Fixes
[discrete]
===== Fix ECMAScript imports
Fixed package configuration to correctly support native ECMAScript `import` syntax.
[discrete]
=== 8.16.0
[discrete]
==== Features
[discrete]
===== Support for Elasticsearch `v8.16`
You can find all the API changes
https://www.elastic.co/guide/en/elasticsearch/reference/8.16/release-notes-8.16.0.html[here].
[discrete]
===== Support Apache Arrow in ES|QL helper
The ES|QL helper can now return results as an Apache Arrow `Table` or `RecordBatchReader`, which enables high-performance calculations on ES|QL results, even if the response data is larger than the system's available memory. See <<esql-helper>> for more information.
[discrete]
==== Fixes
[discrete]
===== Pass prototype poisoning options to serializer correctly
The client's `disablePrototypePoisoningProtection` option was set to `true` by default, but when it was set to any other value it was ignored, making it impossible to enable prototype poisoning protection without providing a custom serializer implementation.
[discrete]
=== 8.15.3
[discrete]
==== Fixes
[discrete]
===== Improved support for Elasticsearch `v8.15`
Updated TypeScript types based on fixes and improvements to the Elasticsearch specification.
[discrete]
===== Drop testing artifacts from npm package
Tap, the unit testing tool, was recently upgraded and started writing to a `.tap` directory. Since tests are run prior to an `npm publish` in CI, this directory was being included in the published package and bloating its size.
[discrete]
=== 8.15.2
[discrete]
==== Fixes
[discrete]
===== Improved support for Elasticsearch `v8.15`
Updated TypeScript types based on fixes and improvements to the Elasticsearch specification.
[discrete]
=== 8.15.1
[discrete]
==== Fixes
[discrete]
===== Improved support for Elasticsearch `v8.15`
Updated TypeScript types based on fixes and improvements to the Elasticsearch specification.
[discrete] [discrete]
=== 8.15.0 === 8.15.0

View File

@ -7,6 +7,5 @@ section, you can see the possible options that you can use to configure it.
* <<basic-config>> * <<basic-config>>
* <<advanced-config>> * <<advanced-config>>
* <<timeout-best-practices>>
* <<child>> * <<child>>
* <<client-testing>> * <<client-testing>>

View File

@ -349,7 +349,7 @@ In this case, the result will be:
body: object | boolean body: object | boolean
statusCode: number statusCode: number
headers: object headers: object
warnings: string[], warnings: [string],
meta: object meta: object
} }
---- ----
@ -410,23 +410,19 @@ The supported request specific options are:
[cols=2*] [cols=2*]
|=== |===
|`ignore` |`ignore`
|`number[]` - HTTP status codes which should not be considered errors for this request. + |`[number]` - HTTP status codes which should not be considered errors for this request. +
_Default:_ `null` _Default:_ `null`
|`requestTimeout` |`requestTimeout`
|`number | string` - Max request timeout for the request in milliseconds, it overrides the client default. + |`number` - Max request timeout for the request in milliseconds, it overrides the client default. +
_Default:_ `30000` _Default:_ `30000`
|`retryOnTimeout`
|`boolean` - Retry requests that have timed out.
_Default:_ `false`
|`maxRetries` |`maxRetries`
|`number` - Max number of retries for the request, it overrides the client default. + |`number` - Max number of retries for the request, it overrides the client default. +
_Default:_ `3` _Default:_ `3`
|`compression` |`compression`
|`string | boolean` - Enables body compression for the request. + |`string, boolean` - Enables body compression for the request. +
_Options:_ `false`, `'gzip'` + _Options:_ `false`, `'gzip'` +
_Default:_ `false` _Default:_ `false`
@ -450,10 +446,6 @@ _Default:_ `null`
|`any` - Custom object per request. _(you can use it to pass data to the clients events)_ + |`any` - Custom object per request. _(you can use it to pass data to the clients events)_ +
_Default:_ `null` _Default:_ `null`
|`opaqueId`
|`string` - Set the `X-Opaque-Id` HTTP header. See {ref}/api-conventions.html#x-opaque-id
_Default:_ `null`
|`maxResponseSize` |`maxResponseSize`
|`number` - When configured, it verifies that the uncompressed response size is lower than the configured number, if it's higher it will abort the request. It cannot be higher than buffer.constants.MAX_STRING_LENTGH + |`number` - When configured, it verifies that the uncompressed response size is lower than the configured number, if it's higher it will abort the request. It cannot be higher than buffer.constants.MAX_STRING_LENTGH +
_Default:_ `null` _Default:_ `null`
@ -466,17 +458,6 @@ _Default:_ `null`
|`AbortSignal` - The AbortSignal instance to allow request abortion. + |`AbortSignal` - The AbortSignal instance to allow request abortion. +
_Default:_ `null` _Default:_ `null`
|`meta`
|`boolean` - Rather than returning the body, return an object containing `body`, `statusCode`, `headers` and `meta` keys +
_Default_: `false`
|`redaction`
|`object` - Options for redacting potentially sensitive data from error metadata. See <<redaction>>.
|`retryBackoff`
|`(min: number, max: number, attempt: number) => number;` - A function that calculates how long to sleep, in seconds, before the next request retry +
_Default:_ A built-in function that uses exponential backoff with jitter.
|=== |===
[discrete] [discrete]

View File

@ -1,46 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "retrievers_example",
retriever: {
rrf: {
retrievers: [
{
standard: {
query: {
range: {
year: {
gt: 2023,
},
},
},
},
},
{
standard: {
query: {
term: {
topic: "elastic",
},
},
},
},
],
rank_window_size: 10,
rank_constant: 1,
},
},
_source: false,
aggs: {
topics: {
terms: {
field: "topic",
},
},
},
});
console.log(response);
----

View File

@ -1,18 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.inference.put({
task_type: "rerank",
inference_id: "my-rerank-model",
inference_config: {
service: "cohere",
service_settings: {
model_id: "rerank-english-v3.0",
api_key: "{{COHERE_API_KEY}}",
},
},
});
console.log(response);
----

View File

@ -4,7 +4,7 @@
[source, js] [source, js]
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "my-index-000002", index: "my-index-000003",
mappings: { mappings: {
properties: { properties: {
metrics: { metrics: {
@ -29,7 +29,7 @@ const response = await client.indices.create({
console.log(response); console.log(response);
const response1 = await client.indices.getMapping({ const response1 = await client.indices.getMapping({
index: "my-index-000002", index: "my-index-000003",
}); });
console.log(response1); console.log(response1);
---- ----

View File

@ -1,8 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.cluster.reroute();
console.log(response);
----

View File

@ -1,49 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "retrievers_example_nested",
retriever: {
rrf: {
retrievers: [
{
standard: {
query: {
nested: {
path: "nested_field",
inner_hits: {
name: "nested_vector",
_source: false,
fields: ["nested_field.paragraph_id"],
},
query: {
knn: {
field: "nested_field.nested_vector",
query_vector: [1, 0, 0.5],
k: 10,
},
},
},
},
},
},
{
standard: {
query: {
term: {
topic: "ai",
},
},
},
},
],
rank_window_size: 10,
rank_constant: 1,
},
},
_source: ["topic"],
});
console.log(response);
----

View File

@ -1,15 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.esql.asyncQuery({
format: "json",
body: {
query:
"\n FROM my-index-000001,cluster_one:my-index-000001,cluster_two:my-index*\n | STATS COUNT(http.response.status_code) BY user.id\n | LIMIT 2\n ",
include_ccs_metadata: true,
},
});
console.log(response);
----

View File

@ -4,7 +4,12 @@
[source, js] [source, js]
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "cooking_blog", index: "idx",
mappings: {
_source: {
mode: "synthetic",
},
},
}); });
console.log(response); console.log(response);
---- ----

View File

@ -1,18 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "cooking_blog",
query: {
match: {
title: {
query: "fluffy pancakes breakfast",
minimum_should_match: 2,
},
},
},
});
console.log(response);
----

View File

@ -1,57 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "retrievers_example",
retriever: {
rrf: {
retrievers: [
{
standard: {
query: {
term: {
topic: "elastic",
},
},
},
},
{
rrf: {
retrievers: [
{
standard: {
query: {
query_string: {
query:
"(information retrieval) OR (artificial intelligence)",
default_field: "text",
},
},
},
},
{
knn: {
field: "vector",
query_vector: [0.23, 0.67, 0.89],
k: 3,
num_candidates: 5,
},
},
],
rank_window_size: 10,
rank_constant: 1,
},
},
],
rank_window_size: 10,
rank_constant: 1,
},
},
_source: false,
size: 1,
explain: true,
});
console.log(response);
----

View File

@ -1,21 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.inference.put({
task_type: "text_embedding",
inference_id: "watsonx-embeddings",
inference_config: {
service: "watsonxai",
service_settings: {
api_key: "<api_key>",
url: "<url>",
model_id: "ibm/slate-30m-english-rtrvr",
project_id: "<project_id>",
api_version: "2024-03-14",
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
f: { f: {
type: "scaled_float", type: "scaled_float",

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
text: { text: {
type: "text", type: "text",

View File

@ -1,18 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.update({
index: ".elastic-connectors",
id: "connector_id",
doc: {
features: {
native_connector_api_keys: {
enabled: true,
},
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
date: { date: {
type: "date_nanos", type: "date_nanos",

View File

@ -1,19 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.connector.updateConfiguration({
connector_id: "my-connector-id",
values: {
host: "127.0.0.1",
port: 5432,
username: "myuser",
password: "mypassword",
database: "chinook",
schema: "public",
tables: "album,artist",
},
});
console.log(response);
----

View File

@ -1,28 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "my-index-bit-vectors",
query: {
script_score: {
query: {
match_all: {},
},
script: {
source: "dotProduct(params.query_vector, 'my_dense_vector')",
params: {
query_vector: [
0.23, 1.45, 3.67, 4.89, -0.56, 2.34, 3.21, 1.78, -2.45, 0.98, -0.12,
3.45, 4.56, 2.78, 1.23, 0.67, 3.89, 4.12, -2.34, 1.56, 0.78, 3.21,
4.12, 2.45, -1.67, 0.34, -3.45, 4.56, -2.78, 1.23, -0.67, 3.89,
-4.34, 2.12, -1.56, 0.78, -3.21, 4.45, 2.12, 1.67,
],
},
},
},
},
});
console.log(response);
----

View File

@ -10,7 +10,7 @@ const response = await client.ingest.putPipeline({
{ {
attachment: { attachment: {
field: "data", field: "data",
remove_binary: true, remove_binary: false,
}, },
}, },
], ],

View File

@ -1,15 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.delete({
index: "books",
});
console.log(response);
const response1 = await client.indices.delete({
index: "my-explicit-mappings-books",
});
console.log(response1);
----

View File

@ -1,26 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.security.createApiKey({
name: "my-connector-api-key",
role_descriptors: {
"my-connector-connector-role": {
cluster: ["monitor", "manage_connector"],
indices: [
{
names: [
"my-index_name",
".search-acl-filter-my-index_name",
".elastic-connectors*",
],
privileges: ["all"],
allow_restricted_indices: false,
},
],
},
},
});
console.log(response);
----

View File

@ -1,27 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
retriever: {
text_similarity_reranker: {
retriever: {
standard: {
query: {
match: {
text: "How often does the moon hide the sun?",
},
},
},
},
field: "text",
inference_id: "elastic-rerank",
inference_text: "How often does the moon hide the sun?",
rank_window_size: 100,
min_score: 0.5,
},
},
});
console.log(response);
----

View File

@ -7,9 +7,9 @@ const response = await client.indices.create({
index: "my-index-000002", index: "my-index-000002",
mappings: { mappings: {
properties: { properties: {
inference_field: { datetime: {
type: "semantic_text", type: "date",
inference_id: "my-openai-endpoint", format: "uuuu/MM/dd HH:mm:ss||uuuu/MM/dd||epoch_millis",
}, },
}, },
}, },

View File

@ -1,10 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "books",
});
console.log(response);
----

View File

@ -4,12 +4,8 @@
[source, js] [source, js]
---- ----
const response = await client.transport.request({ const response = await client.transport.request({
method: "POST", method: "DELETE",
path: "/_connector/_sync_job", path: "/_ingest/geoip/database/my-database-id",
body: {
id: "my-connector-id",
job_type: "full",
},
}); });
console.log(response); console.log(response);
---- ----

View File

@ -9,6 +9,7 @@ const response = await client.indices.create({
properties: { properties: {
inference_field: { inference_field: {
type: "semantic_text", type: "semantic_text",
inference_id: "my-elser-endpoint",
}, },
}, },
}, },

View File

@ -1,19 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.index({
index: "mv",
refresh: "true",
document: {
a: [2, null, 1],
},
});
console.log(response);
const response1 = await client.esql.query({
query: "FROM mv | LIMIT 1",
});
console.log(response1);
----

View File

@ -5,7 +5,7 @@
---- ----
const response = await client.cat.mlTrainedModels({ const response = await client.cat.mlTrainedModels({
h: "c,o,l,ct,v", h: "c,o,l,ct,v",
v: "true", v: "ture",
}); });
console.log(response); console.log(response);
---- ----

View File

@ -1,10 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.delete({
index: "music",
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
flattened: { flattened: {
type: "flattened", type: "flattened",

View File

@ -3,10 +3,9 @@
[source, js] [source, js]
---- ----
const response = await client.transport.request({ const response = await client.indices.putSettings({
method: "PUT", index: ".watches",
path: "/_watcher/settings", settings: {
body: {
"index.routing.allocation.include.role": "watcher", "index.routing.allocation.include.role": "watcher",
}, },
}); });

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
text: { text: {
type: "text", type: "text",

View File

@ -1,33 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.security.createApiKey({
name: "john-api-key",
expiration: "1d",
role_descriptors: {
"sharepoint-online-role": {
index: [
{
names: ["sharepoint-search-application"],
privileges: ["read"],
query: {
template: {
params: {
access_control: ["john@example.co", "Engineering Members"],
},
source:
'\n {\n "bool": {\n "should": [\n {\n "bool": {\n "must_not": {\n "exists": {\n "field": "_allow_access_control"\n }\n }\n }\n },\n {\n "terms": {\n "_allow_access_control.enum": {{#toJson}}access_control{{/toJson}}\n }\n }\n ]\n }\n }\n ',
},
},
},
],
restriction: {
workflows: ["search_application_query"],
},
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
my_range: { my_range: {
type: "ip_range", type: "ip_range",

View File

@ -0,0 +1,28 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.esql.query({
format: "txt",
query:
"\n FROM library\n | SORT page_count DESC\n | KEEP name, author\n | LOOKUP era ON author\n | LIMIT 5\n ",
tables: {
era: {
author: {
keyword: [
"Frank Herbert",
"Peter F. Hamilton",
"Vernor Vinge",
"Alastair Reynolds",
"James S.A. Corey",
],
},
era: {
keyword: ["The New Wave", "Diamond", "Diamond", "Diamond", "Hadron"],
},
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
bool: { bool: {
type: "boolean", type: "boolean",

View File

@ -1,35 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.ingest.putPipeline({
id: "attachment",
description: "Extract attachment information including original binary",
processors: [
{
attachment: {
field: "data",
remove_binary: false,
},
},
],
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: "my_id",
pipeline: "attachment",
document: {
data: "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=",
},
});
console.log(response1);
const response2 = await client.get({
index: "my-index-000001",
id: "my_id",
});
console.log(response2);
----

View File

@ -0,0 +1,16 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.cluster.putSettings({
persistent: {
"cluster.indices.close.enable": false,
"indices.recovery.max_bytes_per_sec": "50mb",
},
transient: {
"*": null,
},
});
console.log(response);
----

View File

@ -1,77 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "my-index-000001",
mappings: {
properties: {
attributes: {
type: "passthrough",
priority: 10,
properties: {
id: {
type: "keyword",
},
},
},
},
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: 1,
document: {
attributes: {
id: "foo",
zone: 10,
},
},
});
console.log(response1);
const response2 = await client.search({
index: "my-index-000001",
query: {
bool: {
must: [
{
match: {
id: "foo",
},
},
{
match: {
zone: 10,
},
},
],
},
},
});
console.log(response2);
const response3 = await client.search({
index: "my-index-000001",
query: {
bool: {
must: [
{
match: {
"attributes.id": "foo",
},
},
{
match: {
"attributes.zone": 10,
},
},
],
},
},
});
console.log(response3);
----

View File

@ -1,28 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "my-explicit-mappings-books",
mappings: {
dynamic: false,
properties: {
name: {
type: "text",
},
author: {
type: "text",
},
release_date: {
type: "date",
format: "yyyy-MM-dd",
},
page_count: {
type: "integer",
},
},
},
});
console.log(response);
----

View File

@ -4,6 +4,7 @@
[source, js] [source, js]
---- ----
const response = await client.cluster.reroute({ const response = await client.cluster.reroute({
metric: "none",
commands: [ commands: [
{ {
move: { move: {

View File

@ -1,25 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.index({
index: "idx_keep",
id: 1,
document: {
path: {
to: [
{
foo: [3, 2, 1],
},
{
foo: [30, 20, 10],
},
],
bar: "baz",
},
ids: [200, 100, 300, 100],
},
});
console.log(response);
----

View File

@ -1,43 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "my-index-000001",
retriever: {
rule: {
match_criteria: {
query_string: "puggles",
user_country: "us",
},
ruleset_ids: ["my-ruleset"],
retriever: {
rrf: {
retrievers: [
{
standard: {
query: {
query_string: {
query: "pugs",
},
},
},
},
{
standard: {
query: {
query_string: {
query: "puggles",
},
},
},
},
],
},
},
},
},
});
console.log(response);
----

View File

@ -3,14 +3,10 @@
[source, js] [source, js]
---- ----
const response = await client.index({ const response = await client.indices.putSettings({
index: "my-index-000001", index: "my-index-000001",
id: 1, settings: {
document: { "index.merge.policy.max_merge_at_once_explicit": null,
attributes: {
id: "foo",
},
id: "bar",
}, },
}); });
console.log(response); console.log(response);

View File

@ -45,7 +45,7 @@ console.log(response);
const response1 = await client.indices.putIndexTemplate({ const response1 = await client.indices.putIndexTemplate({
name: 2, name: 2,
index_patterns: ["k9s*"], index_patterns: ["k8s*"],
composed_of: ["destination_template"], composed_of: ["destination_template"],
data_stream: {}, data_stream: {},
}); });

View File

@ -1,23 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.inference.put({
task_type: "rerank",
inference_id: "my-elastic-rerank",
inference_config: {
service: "elasticsearch",
service_settings: {
model_id: ".rerank-v1",
num_threads: 1,
adaptive_allocations: {
enabled: true,
min_number_of_allocations: 1,
max_number_of_allocations: 4,
},
},
},
});
console.log(response);
----

View File

@ -1,52 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "my-index-bit-vectors",
mappings: {
properties: {
my_dense_vector: {
type: "dense_vector",
index: false,
element_type: "bit",
dims: 40,
},
},
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-bit-vectors",
id: 1,
document: {
my_dense_vector: [8, 5, -15, 1, -7],
},
});
console.log(response1);
const response2 = await client.index({
index: "my-index-bit-vectors",
id: 2,
document: {
my_dense_vector: [-1, 115, -3, 4, -128],
},
});
console.log(response2);
const response3 = await client.index({
index: "my-index-bit-vectors",
id: 3,
document: {
my_dense_vector: [2, 18, -5, 0, -124],
},
});
console.log(response3);
const response4 = await client.indices.refresh({
index: "my-index-bit-vectors",
});
console.log(response4);
----

View File

@ -4,6 +4,7 @@
[source, js] [source, js]
---- ----
const response = await client.cluster.reroute({ const response = await client.cluster.reroute({
metric: "none",
commands: [ commands: [
{ {
allocate_empty_primary: { allocate_empty_primary: {

View File

@ -10,7 +10,7 @@ const response = await client.ingest.putPipeline({
{ {
attachment: { attachment: {
field: "data", field: "data",
remove_binary: true, remove_binary: false,
}, },
}, },
], ],

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
long: { long: {
type: "long", type: "long",

View File

@ -5,11 +5,7 @@
---- ----
const response = await client.transport.request({ const response = await client.transport.request({
method: "GET", method: "GET",
path: "/_connector/_sync_job", path: "/_ingest/geoip/database/my-database-id",
querystring: {
connector_id: "my-connector-id",
size: "1",
},
}); });
console.log(response); console.log(response);
---- ----

View File

@ -5,7 +5,7 @@
---- ----
const response = await client.ingest.putPipeline({ const response = await client.ingest.putPipeline({
id: "geoip", id: "geoip",
description: "Add ip geolocation info", description: "Add geoip info",
processors: [ processors: [
{ {
geoip: { geoip: {

View File

@ -16,7 +16,7 @@ const response = await client.indices.create({
filter: { filter: {
my_snow: { my_snow: {
type: "snowball", type: "snowball",
language: "English", language: "Lovins",
}, },
}, },
}, },

View File

@ -1,16 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.index({
index: "amazon-reviews",
id: 1,
document: {
review_text:
"This product is lifechanging! I'm telling all my friends about it.",
review_vector: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8],
},
});
console.log(response);
----

View File

@ -1,23 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "my-index-bit-vectors",
query: {
script_score: {
query: {
match_all: {},
},
script: {
source: "dotProduct(params.query_vector, 'my_dense_vector')",
params: {
query_vector: [8, 5, -15, 1, -7],
},
},
},
},
});
console.log(response);
----

View File

@ -1,42 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.index({
index: "my-index-000001",
id: 1,
refresh: "true",
document: {
text: "quick brown fox",
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: 2,
refresh: "true",
document: {
text: "quick fox",
},
});
console.log(response1);
const response2 = await client.search({
index: "my-index-000001",
query: {
script_score: {
query: {
match: {
text: "quick brown fox",
},
},
script: {
source: "_termStats.termFreq().getAverage()",
},
},
},
});
console.log(response2);
----

View File

@ -0,0 +1,17 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.knnSearch({
index: "my-index",
knn: {
field: "image_vector",
query_vector: [0.3, 0.1, 1.2],
k: 10,
num_candidates: 100,
},
_source: ["name", "file_type"],
});
console.log(response);
----

View File

@ -4,7 +4,7 @@
[source, js] [source, js]
---- ----
const response = await client.security.putRole({ const response = await client.security.putRole({
name: "only_remote_access_role", name: "role_with_remote_indices",
remote_indices: [ remote_indices: [
{ {
clusters: ["my_remote"], clusters: ["my_remote"],
@ -12,12 +12,6 @@ const response = await client.security.putRole({
privileges: ["read", "read_cross_cluster", "view_index_metadata"], privileges: ["read", "read_cross_cluster", "view_index_metadata"],
}, },
], ],
remote_cluster: [
{
clusters: ["my_remote"],
privileges: ["monitor_stats"],
},
],
}); });
console.log(response); console.log(response);
---- ----

View File

@ -1,14 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.inference.streamInference({
task_type: "completion",
inference_id: "openai-completion",
body: {
input: "What is Elastic?",
},
});
console.log(response);
----

View File

@ -1,38 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.updateByQuery({
index: "INDEX_NAME",
conflicts: "proceed",
query: {
bool: {
filter: [
{
match: {
object_type: "drive_item",
},
},
{
exists: {
field: "file",
},
},
{
range: {
lastModifiedDateTime: {
lte: "now-180d",
},
},
},
],
},
},
script: {
source: "ctx._source.body = ''",
lang: "painless",
},
});
console.log(response);
----

View File

@ -3,8 +3,8 @@
[source, js] [source, js]
---- ----
const response = await client.indices.rollover({ const response = await client.cluster.getSettings({
alias: "datastream", flat_settings: "true",
}); });
console.log(response); console.log(response);
---- ----

View File

@ -1,55 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.search({
index: "cooking_blog",
query: {
bool: {
must: [
{
term: {
tags: "vegetarian",
},
},
{
range: {
rating: {
gte: 4.5,
},
},
},
],
should: [
{
term: {
category: "Main Course",
},
},
{
multi_match: {
query: "curry spicy",
fields: ["title^2", "description"],
},
},
{
range: {
date: {
gte: "now-1M/d",
},
},
},
],
must_not: [
{
term: {
"category.keyword": "Dessert",
},
},
],
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
binary: { binary: {
type: "binary", type: "binary",

View File

@ -1,31 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.update({
index: ".elastic-connectors",
id: "connector_id",
doc: {
configuration: {
field_a: {
type: "str",
value: "",
},
field_b: {
type: "bool",
value: false,
},
field_c: {
type: "int",
value: 1,
},
field_d: {
type: "list",
value: "a,b",
},
},
},
});
console.log(response);
----

View File

@ -0,0 +1,11 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.transport.request({
method: "DELETE",
path: "/_ingest/geoip/database/example-database-id",
});
console.log(response);
----

View File

@ -1,18 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.ingest.simulate({
id: "query_helper_pipeline",
docs: [
{
_source: {
content:
"artificial intelligence in medicine articles published in the last 12 months",
},
},
],
});
console.log(response);
----

View File

@ -1,15 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.putMapping({
index: ".elastic-connectors-sync-jobs-v1",
properties: {
job_type: {
type: "keyword",
},
},
});
console.log(response);
----

View File

@ -1,32 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "my-index-000002",
mappings: {
properties: {
attributes: {
type: "passthrough",
priority: 10,
properties: {
id: {
type: "keyword",
},
},
},
"resource.attributes": {
type: "passthrough",
priority: 20,
properties: {
id: {
type: "keyword",
},
},
},
},
},
});
console.log(response);
----

View File

@ -4,7 +4,7 @@
[source, js] [source, js]
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "my-index-000003", index: "my-index-000002",
mappings: { mappings: {
properties: { properties: {
inference_field: { inference_field: {

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
flattened: { flattened: {
type: "flattened", type: "flattened",

View File

@ -11,7 +11,7 @@ const response = await client.ingest.putPipeline({
attachment: { attachment: {
field: "data", field: "data",
properties: ["content", "title"], properties: ["content", "title"],
remove_binary: true, remove_binary: false,
}, },
}, },
], ],

View File

@ -1,15 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.esql.asyncQuery({
format: "json",
body: {
query:
"\n FROM cluster_one:my-index*,cluster_two:logs*\n | STATS COUNT(http.response.status_code) BY user.id\n | LIMIT 2\n ",
include_ccs_metadata: true,
},
});
console.log(response);
----

View File

@ -1,23 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.inference.put({
task_type: "sparse_embedding",
inference_id: "small_chunk_size",
inference_config: {
service: "elasticsearch",
service_settings: {
num_allocations: 1,
num_threads: 1,
},
chunking_settings: {
strategy: "sentence",
max_chunk_size: 100,
sentence_overlap: 0,
},
},
});
console.log(response);
----

View File

@ -1,19 +0,0 @@
// This file is autogenerated, DO NOT EDIT
// Use `node scripts/generate-docs-examples.js` to generate the docs examples
[source, js]
----
const response = await client.indices.create({
index: "idx",
settings: {
index: {
mapping: {
source: {
mode: "synthetic",
},
},
},
},
});
console.log(response);
----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
my_range: { my_range: {
type: "long_range", type: "long_range",

View File

@ -3,8 +3,8 @@
[source, js] [source, js]
---- ----
const response = await client.count({ const response = await client.cluster.reroute({
index: "music", metric: "none",
}); });
console.log(response); console.log(response);
---- ----

View File

@ -5,16 +5,10 @@
---- ----
const response = await client.indices.create({ const response = await client.indices.create({
index: "idx", index: "idx",
settings: { mappings: {
index: { _source: {
mapping: {
source: {
mode: "synthetic", mode: "synthetic",
}, },
},
},
},
mappings: {
properties: { properties: {
kwd: { kwd: {
type: "keyword", type: "keyword",

Some files were not shown because too many files have changed in this diff Show More