elastic-enterprise-search 7.12.1 → 7.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ci/functions/imports.sh +1 -0
- data/.ci/jobs/defaults.yml +4 -0
- data/.ci/jobs/elastic+enterprise-search-ruby+7.10.0.beta.1.yml +12 -0
- data/.ci/jobs/{elastic+enterprise-search-ruby+7.11.yml → elastic+enterprise-search-ruby+main.yml} +4 -4
- data/.ci/make.sh +162 -0
- data/.ci/run-repository.sh +2 -1
- data/.ci/test-matrix.yml +5 -3
- data/{spec/app-search/api_logs_spec.rb → .github/check_license_headers.rb} +13 -16
- data/.github/license-header.txt +16 -0
- data/.github/workflows/license.yml +13 -0
- data/.github/workflows/testing.yml +1 -1
- data/CONTRIBUTING.md +1 -1
- data/README.md +1 -1
- data/Rakefile +20 -0
- data/docs/guide/app-search-api.asciidoc +157 -1
- data/docs/guide/connecting.asciidoc +47 -1
- data/docs/guide/overview.asciidoc +3 -3
- data/docs/guide/release_notes/712.asciidoc +0 -10
- data/docs/guide/release_notes/713.asciidoc +21 -0
- data/docs/guide/release_notes/714.asciidoc +21 -0
- data/docs/guide/release_notes/715.asciidoc +36 -0
- data/docs/guide/release_notes/index.asciidoc +6 -0
- data/docs/guide/workplace-search-api.asciidoc +115 -2
- data/elastic-enterprise-search.gemspec +1 -1
- data/lib/elastic/app-search/api/add_meta_engine_source.rb +3 -2
- data/lib/elastic/app-search/api/api_key.rb +52 -0
- data/lib/elastic/app-search/api/api_logs.rb +14 -13
- data/lib/elastic/app-search/api/count_analytics.rb +7 -6
- data/lib/elastic/app-search/api/crawler_active_crawl_request.rb +51 -0
- data/lib/elastic/app-search/api/crawler_crawl_request.rb +54 -0
- data/lib/elastic/app-search/api/crawler_crawl_schedule.rb +51 -0
- data/lib/elastic/app-search/api/crawler_domain.rb +54 -0
- data/lib/elastic/app-search/api/crawler_domain_validation_result.rb +48 -0
- data/lib/elastic/app-search/api/crawler_metrics.rb +48 -0
- data/lib/elastic/app-search/api/crawler_overview.rb +51 -0
- data/lib/elastic/app-search/api/crawler_process_crawl.rb +54 -0
- data/lib/elastic/app-search/api/crawler_process_crawl_denied_urls.rb +54 -0
- data/lib/elastic/app-search/api/crawler_url_extraction_result.rb +52 -0
- data/lib/elastic/app-search/api/crawler_url_tracing_result.rb +52 -0
- data/lib/elastic/app-search/api/crawler_url_validation_result.rb +52 -0
- data/lib/elastic/app-search/api/crawler_user_agent.rb +48 -0
- data/lib/elastic/app-search/api/create_api_key.rb +57 -0
- data/lib/elastic/app-search/api/create_crawler_crawl_request.rb +51 -0
- data/lib/elastic/app-search/api/create_crawler_crawl_rule.rb +59 -0
- data/lib/elastic/app-search/api/create_crawler_domain.rb +55 -0
- data/lib/elastic/app-search/api/create_crawler_entry_point.rb +56 -0
- data/lib/elastic/app-search/api/create_crawler_process_crawl.rb +53 -0
- data/lib/elastic/app-search/api/create_crawler_sitemap.rb +56 -0
- data/lib/elastic/app-search/api/create_curation.rb +7 -6
- data/lib/elastic/app-search/api/create_engine.rb +9 -7
- data/lib/elastic/app-search/api/create_synonym_set.rb +7 -4
- data/lib/elastic/app-search/api/curation.rb +4 -3
- data/lib/elastic/app-search/api/delete_active_crawl_request.rb +51 -0
- data/lib/elastic/app-search/api/delete_api_key.rb +52 -0
- data/lib/elastic/app-search/api/delete_crawler_active_crawl_request.rb +51 -0
- data/lib/elastic/app-search/api/delete_crawler_crawl_rule.rb +57 -0
- data/lib/elastic/app-search/api/delete_crawler_crawl_schedule.rb +51 -0
- data/lib/elastic/app-search/api/delete_crawler_domain.rb +54 -0
- data/lib/elastic/app-search/api/delete_crawler_entry_point.rb +57 -0
- data/lib/elastic/app-search/api/delete_crawler_sitemap.rb +57 -0
- data/lib/elastic/app-search/api/delete_curation.rb +4 -3
- data/lib/elastic/app-search/api/delete_documents.rb +2 -1
- data/lib/elastic/app-search/api/delete_engine.rb +3 -2
- data/lib/elastic/app-search/api/delete_meta_engine_source.rb +3 -3
- data/lib/elastic/app-search/api/delete_synonym_set.rb +4 -3
- data/lib/elastic/app-search/api/denied_urls.rb +54 -0
- data/lib/elastic/app-search/api/documents.rb +3 -2
- data/lib/elastic/app-search/api/engine.rb +3 -2
- data/lib/elastic/app-search/api/index_documents.rb +3 -2
- data/lib/elastic/app-search/api/list_api_keys.rb +50 -0
- data/lib/elastic/app-search/api/list_crawler_crawl_requests.rb +52 -0
- data/lib/elastic/app-search/api/list_crawler_process_crawls.rb +51 -0
- data/lib/elastic/app-search/api/list_curations.rb +3 -2
- data/lib/elastic/app-search/api/list_documents.rb +3 -2
- data/lib/elastic/app-search/api/list_engines.rb +2 -1
- data/lib/elastic/app-search/api/list_synonym_sets.rb +3 -2
- data/lib/elastic/app-search/api/log_clickthrough.rb +8 -10
- data/lib/elastic/app-search/api/put_api_key.rb +59 -0
- data/lib/elastic/app-search/api/put_crawler_crawl_rule.rb +62 -0
- data/lib/elastic/app-search/api/put_crawler_crawl_schedule.rb +53 -0
- data/lib/elastic/app-search/api/put_crawler_domain.rb +58 -0
- data/lib/elastic/app-search/api/put_crawler_entry_point.rb +59 -0
- data/lib/elastic/app-search/api/put_crawler_sitemap.rb +59 -0
- data/lib/elastic/app-search/api/put_curation.rb +9 -8
- data/lib/elastic/app-search/api/put_documents.rb +3 -3
- data/lib/elastic/app-search/api/put_schema.rb +4 -4
- data/lib/elastic/app-search/api/put_search_settings.rb +6 -2
- data/lib/elastic/app-search/api/put_synonym_set.rb +8 -5
- data/lib/elastic/app-search/api/query_suggestion.rb +7 -7
- data/lib/elastic/app-search/api/reset_search_settings.rb +3 -2
- data/lib/elastic/app-search/api/schema.rb +3 -2
- data/lib/elastic/app-search/api/search.rb +14 -3
- data/lib/elastic/app-search/api/search_settings.rb +3 -2
- data/lib/elastic/app-search/api/synonym_set.rb +4 -3
- data/lib/elastic/app-search/api/top_clicks_analytics.rb +8 -8
- data/lib/elastic/app-search/api/top_queries_analytics.rb +7 -7
- data/lib/elastic/app-search/app_search.rb +0 -10
- data/lib/elastic/enterprise-search/api/health.rb +1 -0
- data/lib/elastic/enterprise-search/api/put_read_only.rb +3 -0
- data/lib/elastic/enterprise-search/api/read_only.rb +1 -0
- data/lib/elastic/enterprise-search/api/version.rb +1 -0
- data/lib/elastic/enterprise-search/client.rb +0 -16
- data/lib/elastic/enterprise-search/request.rb +14 -3
- data/lib/elastic/enterprise-search/version.rb +1 -1
- data/lib/elastic/enterprise_search.rb +11 -0
- data/lib/elastic/workplace-search/api/auto_query_refinement_details.rb +49 -0
- data/lib/elastic/workplace-search/api/command_sync_jobs.rb +53 -0
- data/lib/elastic/workplace-search/api/content_source.rb +49 -0
- data/lib/elastic/workplace-search/api/create_analytics_event.rb +8 -8
- data/lib/elastic/workplace-search/api/create_batch_synonym_sets.rb +50 -0
- data/lib/elastic/workplace-search/api/create_content_source.rb +55 -0
- data/lib/elastic/workplace-search/api/create_external_identity.rb +3 -1
- data/lib/elastic/workplace-search/api/current_user.rb +47 -0
- data/lib/elastic/workplace-search/api/delete_all_documents.rb +49 -0
- data/lib/elastic/workplace-search/api/delete_content_source.rb +49 -0
- data/lib/elastic/workplace-search/api/delete_documents.rb +1 -1
- data/lib/elastic/workplace-search/api/delete_documents_by_query.rb +50 -0
- data/lib/elastic/workplace-search/api/delete_synonym_set.rb +51 -0
- data/lib/elastic/workplace-search/api/document.rb +53 -0
- data/lib/elastic/workplace-search/api/list_content_sources.rb +48 -0
- data/lib/elastic/workplace-search/api/list_synonym_sets.rb +51 -0
- data/lib/elastic/workplace-search/api/put_content_source.rb +58 -0
- data/lib/elastic/workplace-search/api/put_content_source_icons.rb +53 -0
- data/lib/elastic/workplace-search/api/put_external_identity.rb +3 -1
- data/lib/elastic/workplace-search/api/put_synonym_set.rb +53 -0
- data/lib/elastic/workplace-search/api/put_triggers_blocklist.rb +47 -0
- data/lib/elastic/workplace-search/api/search.rb +4 -1
- data/lib/elastic/workplace-search/api/synonym_set.rb +51 -0
- data/lib/elastic/workplace-search/api/triggers_blocklist.rb +45 -0
- data/lib/elastic/workplace-search/workplace_search.rb +0 -10
- data/rake_tasks/unified_release_tasks.rake +46 -0
- data/spec/enterprise-search/client_spec.rb +0 -1
- data/spec/enterprise-search/request_spec.rb +26 -0
- data/spec/integration/app-search/api_key_spec.rb +110 -0
- data/spec/integration/app-search/api_logs_spec.rb +59 -0
- data/spec/integration/app-search/app_search_helper.rb +39 -0
- data/spec/integration/app-search/count_analytics_spec.rb +47 -0
- data/spec/integration/app-search/crawl_requests_spec.rb +86 -0
- data/spec/integration/app-search/crawler_crawl_rule_spec.rb +73 -0
- data/spec/integration/app-search/crawler_domain_spec.rb +82 -0
- data/spec/integration/app-search/crawler_entry_point_spec.rb +89 -0
- data/spec/integration/app-search/crawler_metrics_spec.rb +46 -0
- data/spec/integration/app-search/crawler_overview_spec.rb +45 -0
- data/spec/integration/app-search/crawler_process_crawl_denied_urls_spec.rb +50 -0
- data/spec/integration/app-search/crawler_process_crawl_spec.rb +66 -0
- data/spec/integration/app-search/crawler_scheduling_spec.rb +81 -0
- data/spec/integration/app-search/crawler_sitemap_spec.rb +72 -0
- data/spec/integration/app-search/crawler_urls_spec.rb +60 -0
- data/spec/{app-search/api_count_analytics_spec.rb → integration/app-search/crawler_user_agent_spec.rb} +6 -9
- data/spec/integration/app-search/curations_spec.rb +118 -0
- data/spec/integration/app-search/documents_spec.rb +123 -0
- data/spec/integration/app-search/engines_spec.rb +77 -0
- data/spec/{app-search/api_log_clickthrough_spec.rb → integration/app-search/log_clickthrough_spec.rb} +14 -7
- data/spec/integration/app-search/meta_engines_spec.rb +75 -0
- data/spec/integration/app-search/query_suggestion_spec.rb +50 -0
- data/spec/{app-search/api_schema_spec.rb → integration/app-search/schema_spec.rb} +21 -16
- data/spec/integration/app-search/search_and_multiple_search_spec.rb +67 -0
- data/spec/integration/app-search/search_settings_spec.rb +87 -0
- data/spec/integration/app-search/synonyms_spec.rb +79 -0
- data/spec/{app-search/api_top_clicks_analytics_spec.rb → integration/app-search/top_clicks_analytics_spec.rb} +20 -14
- data/spec/{app-search/api_top_queries_analytics_spec.rb → integration/app-search/top_queries_analytics_spec.rb} +16 -8
- data/spec/integration/enterprise_search_api_spec.rb +4 -0
- data/spec/integration/workplace-search/content_sources_spec.rb +106 -0
- data/spec/integration/workplace-search/documents_spec.rb +95 -0
- data/spec/{workplace-search → integration/workplace-search}/external_identities_spec.rb +37 -24
- data/spec/integration/workplace-search/icon.png +0 -0
- data/spec/integration/workplace-search/permissions_spec.rb +77 -0
- data/spec/integration/workplace-search/synonym_sets_spec.rb +92 -0
- data/spec/integration/workplace-search/triggers_spec.rb +43 -0
- data/spec/{app-search/api_query_suggestion_spec.rb → integration/workplace-search/users_spec.rb} +12 -15
- data/spec/integration/workplace-search/workplace_search_helper.rb +39 -0
- data/spec/webmock_requires.rb +16 -0
- data/spec/workplace-search/client_spec.rb +24 -2
- metadata +112 -83
- data/.ci/jobs/elastic+enterprise-search-ruby+master.yml +0 -12
- data/spec/app-search/api_curations_spec.rb +0 -97
- data/spec/app-search/api_documents_spec.rb +0 -102
- data/spec/app-search/api_engines_spec.rb +0 -67
- data/spec/app-search/api_meta_engines_spec.rb +0 -72
- data/spec/app-search/api_search_and_multi_search_spec.rb +0 -48
- data/spec/app-search/api_search_settings_spec.rb +0 -76
- data/spec/app-search/api_spec_helper.rb +0 -14
- data/spec/app-search/api_synonyms_spec.rb +0 -79
- data/spec/fixtures/vcr/app_search/add_meta_engine_source.yml +0 -109
- data/spec/fixtures/vcr/app_search/api_documents.yml +0 -56
- data/spec/fixtures/vcr/app_search/api_index_documents.yml +0 -57
- data/spec/fixtures/vcr/app_search/api_log_clickthrough.yml +0 -54
- data/spec/fixtures/vcr/app_search/api_logs.yml +0 -70
- data/spec/fixtures/vcr/app_search/api_put_schema.yml +0 -109
- data/spec/fixtures/vcr/app_search/api_put_search_settings.yml +0 -56
- data/spec/fixtures/vcr/app_search/api_query_suggestion.yml +0 -59
- data/spec/fixtures/vcr/app_search/api_reset_search_settings.yml +0 -56
- data/spec/fixtures/vcr/app_search/api_schema.yml +0 -56
- data/spec/fixtures/vcr/app_search/api_search_settings.yml +0 -56
- data/spec/fixtures/vcr/app_search/api_top_clicks_analytics.yml +0 -55
- data/spec/fixtures/vcr/app_search/api_top_clicks_analytics_query.yml +0 -55
- data/spec/fixtures/vcr/app_search/api_top_queries_analytics.yml +0 -55
- data/spec/fixtures/vcr/app_search/count_analytics.yml +0 -55
- data/spec/fixtures/vcr/app_search/create_and_update_document.yml +0 -107
- data/spec/fixtures/vcr/app_search/create_curation.yml +0 -113
- data/spec/fixtures/vcr/app_search/create_engine.yml +0 -55
- data/spec/fixtures/vcr/app_search/create_meta_engine.yml +0 -56
- data/spec/fixtures/vcr/app_search/create_synonym_set.yml +0 -56
- data/spec/fixtures/vcr/app_search/delete_curation.yml +0 -56
- data/spec/fixtures/vcr/app_search/delete_engine.yml +0 -55
- data/spec/fixtures/vcr/app_search/delete_meta_engine_source.yml +0 -56
- data/spec/fixtures/vcr/app_search/delete_synonym_set.yml +0 -56
- data/spec/fixtures/vcr/app_search/get_curation.yml +0 -56
- data/spec/fixtures/vcr/app_search/get_engine.yml +0 -55
- data/spec/fixtures/vcr/app_search/index_and_delete_document.yml +0 -107
- data/spec/fixtures/vcr/app_search/list_curations.yml +0 -56
- data/spec/fixtures/vcr/app_search/list_documents.yml +0 -57
- data/spec/fixtures/vcr/app_search/list_engines.yml +0 -55
- data/spec/fixtures/vcr/app_search/list_synonym_sets.yml +0 -56
- data/spec/fixtures/vcr/app_search/multi_query_search.yml +0 -63
- data/spec/fixtures/vcr/app_search/put_curation.yml +0 -113
- data/spec/fixtures/vcr/app_search/put_synonym_set.yml +0 -56
- data/spec/fixtures/vcr/app_search/search.yml +0 -57
- data/spec/fixtures/vcr/app_search/single_query_search.yml +0 -60
- data/spec/fixtures/vcr/app_search/synonym_set.yml +0 -56
- data/spec/fixtures/vcr/workplace_search/add_user_permissions.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/clear_user_permissions.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/create_external_identity.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/delete_documents.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/delete_external_identity.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/index_documents.yml +0 -55
- data/spec/fixtures/vcr/workplace_search/list_external_identities.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/list_permissions.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/put_external_identity.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/put_user_permissions.yml +0 -103
- data/spec/fixtures/vcr/workplace_search/remove_user_permissions.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/retrieve_external_identity.yml +0 -53
- data/spec/fixtures/vcr/workplace_search/user_permissions_empty.yml +0 -53
- data/spec/workplace-search/documents_spec.rb +0 -80
- data/spec/workplace-search/permissions_spec.rb +0 -136
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ebc1dd416a61d523f8de08fe29e3308539cce59a55a9edcbffc7997c85910d5
|
4
|
+
data.tar.gz: 2dd11f3198ee70cea2d7f9d76f4d411ee47160b5e4d0ba1a32080cc830301b5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9d5499b123c3d026d2c2dbde6a0a9952321c3b2befd12cd42199d3d032d26f65a02e371bc32ceb9a9f3bcb3c085e83aed2ad5b292b43aeed6bdf5db37878744
|
7
|
+
data.tar.gz: d212455f5c39d99eea502669241b4dbd848615e0de15109b764465d124b003696d0dd0737a276f294ac0ee9a17b56027dd711c6e1f1cd615aec09005bf30dadd
|
data/.ci/functions/imports.sh
CHANGED
data/.ci/jobs/defaults.yml
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
- job:
|
3
|
+
name: elastic+enterprise-search-ruby+7.10.0.beta.1
|
4
|
+
display-name: 'elastic / enterprise-search-ruby # 7.10.0.beta.1'
|
5
|
+
description: Testing the enterprise-search-ruby 7.10.0.beta.1 branch.
|
6
|
+
junit_results: "*-junit.xml"
|
7
|
+
parameters:
|
8
|
+
- string:
|
9
|
+
name: branch_specifier
|
10
|
+
default: refs/heads/7.10.0.beta.1
|
11
|
+
description: the Git branch specifier to build (<branchName>, <tagName>,
|
12
|
+
<commitId>, etc.)
|
data/.ci/jobs/{elastic+enterprise-search-ruby+7.11.yml → elastic+enterprise-search-ruby+main.yml}
RENAMED
@@ -1,12 +1,12 @@
|
|
1
1
|
---
|
2
2
|
- job:
|
3
|
-
name: elastic+enterprise-search-ruby+
|
4
|
-
display-name: 'elastic / enterprise-search-ruby #
|
5
|
-
description: Testing the enterprise-search-ruby
|
3
|
+
name: elastic+enterprise-search-ruby+main
|
4
|
+
display-name: 'elastic / enterprise-search-ruby # main'
|
5
|
+
description: Testing the enterprise-search-ruby main branch.
|
6
6
|
junit_results: "*-junit.xml"
|
7
7
|
parameters:
|
8
8
|
- string:
|
9
9
|
name: branch_specifier
|
10
|
-
default: refs/heads/
|
10
|
+
default: refs/heads/main
|
11
11
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
12
12
|
<commitId>, etc.)
|
data/.ci/make.sh
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# ------------------------------------------------------- #
|
4
|
+
#
|
5
|
+
# Skeleton for common build entry script for all elastic
|
6
|
+
# clients. Needs to be adapted to individual client usage.
|
7
|
+
#
|
8
|
+
# Must be called: ./.ci/make.sh <target> <params>
|
9
|
+
#
|
10
|
+
# Version: 1.1.0
|
11
|
+
#
|
12
|
+
# Targets:
|
13
|
+
# ---------------------------
|
14
|
+
# assemble <VERSION> : build client artefacts with version
|
15
|
+
# bump <VERSION> : bump client internals to version
|
16
|
+
# codegen <VERSION> : generate endpoints
|
17
|
+
# docsgen <VERSION> : generate documentation
|
18
|
+
# examplegen : generate the doc examples
|
19
|
+
# clean : clean workspace
|
20
|
+
#
|
21
|
+
# ------------------------------------------------------- #
|
22
|
+
|
23
|
+
# ------------------------------------------------------- #
|
24
|
+
# Bootstrap
|
25
|
+
# ------------------------------------------------------- #
|
26
|
+
|
27
|
+
script_path=$(dirname "$(realpath -s "$0")")
|
28
|
+
repo=$(realpath "$script_path/../")
|
29
|
+
|
30
|
+
# shellcheck disable=SC1090
|
31
|
+
CMD=$1
|
32
|
+
TASK=$1
|
33
|
+
TASK_ARGS=()
|
34
|
+
VERSION=$2
|
35
|
+
STACK_VERSION=$VERSION
|
36
|
+
set -euo pipefail
|
37
|
+
|
38
|
+
product="elastic/enterprise-search-ruby"
|
39
|
+
output_folder=".ci/output"
|
40
|
+
codegen_folder=".ci/output"
|
41
|
+
OUTPUT_DIR="$repo/${output_folder}"
|
42
|
+
REPO_BINDING="${OUTPUT_DIR}:/sln/${output_folder}"
|
43
|
+
mkdir -p "$OUTPUT_DIR"
|
44
|
+
|
45
|
+
echo -e "\033[34;1mINFO:\033[0m PRODUCT ${product}\033[0m"
|
46
|
+
echo -e "\033[34;1mINFO:\033[0m VERSION ${STACK_VERSION}\033[0m"
|
47
|
+
echo -e "\033[34;1mINFO:\033[0m OUTPUT_DIR ${OUTPUT_DIR}\033[0m"
|
48
|
+
|
49
|
+
RUBY_TEST_VERSION=${RUBY_TEST_VERSION-2.7}
|
50
|
+
|
51
|
+
case $CMD in
|
52
|
+
clean)
|
53
|
+
echo -e "\033[36;1mTARGET: clean workspace $output_folder\033[0m"
|
54
|
+
rm -rf "$output_folder"
|
55
|
+
echo -e "\033[32;1mdone.\033[0m"
|
56
|
+
exit 0
|
57
|
+
;;
|
58
|
+
assemble)
|
59
|
+
if [ -v $VERSION ]; then
|
60
|
+
echo -e "\033[31;1mTARGET: assemble -> missing version parameter\033[0m"
|
61
|
+
exit 1
|
62
|
+
fi
|
63
|
+
echo -e "\033[36;1mTARGET: assemble artefact $VERSION\033[0m"
|
64
|
+
TASK=assemble
|
65
|
+
TASK_ARGS=("$VERSION" "$output_folder")
|
66
|
+
;;
|
67
|
+
codegen)
|
68
|
+
if [ -v $VERSION ]; then
|
69
|
+
echo -e "\033[31;1mTARGET: codegen -> missing version parameter\033[0m"
|
70
|
+
exit 1
|
71
|
+
fi
|
72
|
+
echo -e "\033[36;1mTARGET: codegen API v$VERSION\033[0m"
|
73
|
+
TASK=codegen
|
74
|
+
# VERSION is BRANCH here for now
|
75
|
+
TASK_ARGS=("$VERSION" "$codegen_folder")
|
76
|
+
;;
|
77
|
+
docsgen)
|
78
|
+
if [ -v $VERSION ]; then
|
79
|
+
echo -e "\033[31;1mTARGET: docsgen -> missing version parameter\033[0m"
|
80
|
+
exit 1
|
81
|
+
fi
|
82
|
+
echo -e "\033[36;1mTARGET: generate docs for $VERSION\033[0m"
|
83
|
+
TASK=codegen
|
84
|
+
# VERSION is BRANCH here for now
|
85
|
+
TASK_ARGS=("$VERSION" "$codegen_folder")
|
86
|
+
;;
|
87
|
+
examplesgen)
|
88
|
+
echo -e "\033[36;1mTARGET: generate examples\033[0m"
|
89
|
+
TASK=codegen
|
90
|
+
# VERSION is BRANCH here for now
|
91
|
+
TASK_ARGS=("$VERSION" "$codegen_folder")
|
92
|
+
;;
|
93
|
+
bump)
|
94
|
+
if [ -v $VERSION ]; then
|
95
|
+
echo -e "\033[31;1mTARGET: bump -> missing version parameter\033[0m"
|
96
|
+
exit 1
|
97
|
+
fi
|
98
|
+
echo -e "\033[36;1mTARGET: bump to version $VERSION\033[0m"
|
99
|
+
TASK=bump
|
100
|
+
# VERSION is BRANCH here for now
|
101
|
+
TASK_ARGS=("$VERSION")
|
102
|
+
;;
|
103
|
+
*)
|
104
|
+
echo -e "\nUsage:\n\t $CMD is not supported right now\n"
|
105
|
+
exit 1
|
106
|
+
esac
|
107
|
+
|
108
|
+
|
109
|
+
# ------------------------------------------------------- #
|
110
|
+
# Build Container
|
111
|
+
# ------------------------------------------------------- #
|
112
|
+
|
113
|
+
echo -e "\033[34;1mINFO: building $product container\033[0m"
|
114
|
+
|
115
|
+
docker build --file .ci/Dockerfile --tag ${product} \
|
116
|
+
--build-arg USER_ID="$(id -u)" \
|
117
|
+
--build-arg GROUP_ID="$(id -g)" .
|
118
|
+
|
119
|
+
|
120
|
+
# ------------------------------------------------------- #
|
121
|
+
# Run the Container
|
122
|
+
# ------------------------------------------------------- #
|
123
|
+
|
124
|
+
echo -e "\033[34;1mINFO: running $product container\033[0m"
|
125
|
+
|
126
|
+
# Convert ARGS to comma separated string for Rake:
|
127
|
+
args_string="${TASK_ARGS[*]}"
|
128
|
+
args_string="${args_string// /,}"
|
129
|
+
|
130
|
+
docker run \
|
131
|
+
--env "RUBY_TEST_VERSION=${RUBY_TEST_VERSION}" \
|
132
|
+
--name test-runner \
|
133
|
+
--volume $REPO_BINDING \
|
134
|
+
--volume $repo:/usr/src/app \
|
135
|
+
--rm \
|
136
|
+
$product \
|
137
|
+
bundle exec rake unified_release:"$TASK"["$args_string"]
|
138
|
+
|
139
|
+
# ------------------------------------------------------- #
|
140
|
+
# Post Command tasks & checks
|
141
|
+
# ------------------------------------------------------- #
|
142
|
+
|
143
|
+
if [[ "$CMD" == "assemble" ]]; then
|
144
|
+
if compgen -G ".ci/output/*" > /dev/null; then
|
145
|
+
echo -e "\033[32;1mTARGET: successfully assembled client v$VERSION\033[0m"
|
146
|
+
else
|
147
|
+
echo -e "\033[31;1mTARGET: assemble failed, empty workspace!\033[0m"
|
148
|
+
exit 1
|
149
|
+
fi
|
150
|
+
fi
|
151
|
+
|
152
|
+
if [[ "$CMD" == "codegen" ]]; then
|
153
|
+
echo "TODO"
|
154
|
+
fi
|
155
|
+
|
156
|
+
if [[ "$CMD" == "docsgen" ]]; then
|
157
|
+
echo "TODO"
|
158
|
+
fi
|
159
|
+
|
160
|
+
if [[ "$CMD" == "examplesgen" ]]; then
|
161
|
+
echo "TODO"
|
162
|
+
fi
|
data/.ci/run-repository.sh
CHANGED
@@ -17,6 +17,7 @@ echo -e "\033[34;1mINFO:\033[0m TEST_SUITE: ${TEST_SUITE}\033[0m"
|
|
17
17
|
echo -e "\033[34;1mINFO:\033[0m RUBY_VERSION: ${RUBY_VERSION}\033[0m"
|
18
18
|
echo -e "\033[34;1mINFO:\033[0m RUNSCRIPTS: ${RUNSCRIPTS}\033[0m"
|
19
19
|
echo -e "\033[34;1mINFO:\033[0m URL: ${elasticsearch_url}\033[0m"
|
20
|
+
echo -e "\033[34;1mINFO:\033[0m SERVICE: ${SERVICE}\033[0m"
|
20
21
|
|
21
22
|
echo -e "\033[34;1mINFO:\033[0m pinging Elasticsearch ..\033[0m"
|
22
23
|
curl --insecure --fail $external_elasticsearch_url/_cluster/health?pretty
|
@@ -46,4 +47,4 @@ docker run \
|
|
46
47
|
--rm \
|
47
48
|
--volume `pwd`:/code/enterprise-search-ruby \
|
48
49
|
elastic/enterprise-search-ruby \
|
49
|
-
rake spec:integration
|
50
|
+
rake spec:integration:${SERVICE}
|
data/.ci/test-matrix.yml
CHANGED
@@ -15,22 +15,19 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
-
|
18
|
+
LICENSE = File.read('./.github/license-header.txt')
|
19
|
+
files = `git ls-files | grep -E '\.rb|Rakefile|\.rake|\.erb|Gemfile|gemspec'`.split("\n")
|
20
|
+
errors = []
|
19
21
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
it 'returns api logs' do
|
25
|
-
VCR.use_cassette('app_search/api_logs') do
|
26
|
-
response = @client.api_logs(
|
27
|
-
'videogames',
|
28
|
-
from_date: Date.new(2020, 10, 0o1),
|
29
|
-
to_date: Date.new(2020, 11, 0o5)
|
30
|
-
)
|
31
|
-
expect(response.status).to eq 200
|
32
|
-
expect(response.body['results'].count).to be > 1
|
33
|
-
end
|
34
|
-
end
|
22
|
+
files.each do |file|
|
23
|
+
unless File.read(file).include?(LICENSE)
|
24
|
+
errors << file
|
25
|
+
puts "#{file} doesn't contain the correct license header"
|
35
26
|
end
|
36
27
|
end
|
28
|
+
|
29
|
+
if errors.empty?
|
30
|
+
puts 'All checked files have the correct license header'
|
31
|
+
else
|
32
|
+
exit 1
|
33
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: License headers
|
2
|
+
on: [pull_request]
|
3
|
+
jobs:
|
4
|
+
build:
|
5
|
+
runs-on: ubuntu-latest
|
6
|
+
steps:
|
7
|
+
- uses: actions/checkout@v2
|
8
|
+
- uses: ruby/setup-ruby@v1
|
9
|
+
with:
|
10
|
+
ruby-version: 3
|
11
|
+
- name: Check license headers
|
12
|
+
run: |
|
13
|
+
ruby ./.github/check_license_headers.rb
|
data/CONTRIBUTING.md
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
3. Rebase your changes. Update your local repository with the most recent code
|
24
24
|
from the main `enterprise-search-ruby` repository and rebase your branch
|
25
|
-
on top of the latest `
|
25
|
+
on top of the latest `main` branch. All of your changes will be squashed
|
26
26
|
into a single commit so don't worry about pushing multiple times.
|
27
27
|
|
28
28
|
4. Submit a pull request. Push your local changes to your forked repository
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Elastic Enterprise Search Client
|
2
2
|
|
3
|
-
![build](https://github.com/elastic/enterprise-search-ruby/workflows/
|
3
|
+
![build](https://github.com/elastic/enterprise-search-ruby/workflows/main/badge.svg)
|
4
4
|
![rubocop](https://github.com/elastic/enterprise-search-ruby/workflows/rubocop/badge.svg)
|
5
5
|
[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop-hq/rubocop)
|
6
6
|
|
data/Rakefile
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
|
20
20
|
require 'rspec/core/rake_task'
|
21
21
|
require 'bundler/gem_tasks'
|
22
|
+
import 'rake_tasks/unified_release_tasks.rake'
|
22
23
|
|
23
24
|
desc 'Open an irb session preloaded with this library'
|
24
25
|
task :console do
|
@@ -30,6 +31,7 @@ task :stack, [:version] do |_, params|
|
|
30
31
|
sh "STACK_VERSION=#{params[:version]} ./.ci/run-local.sh"
|
31
32
|
end
|
32
33
|
|
34
|
+
# rubocop:disable Metrics/BlockLength
|
33
35
|
namespace :spec do
|
34
36
|
desc 'Run client tests'
|
35
37
|
task :client do
|
@@ -45,4 +47,22 @@ namespace :spec do
|
|
45
47
|
task :all do
|
46
48
|
sh 'rspec spec'
|
47
49
|
end
|
50
|
+
|
51
|
+
namespace :integration do
|
52
|
+
desc 'Run App Search integration tests'
|
53
|
+
task :appsearch do
|
54
|
+
sh 'rspec spec/integration/app-search'
|
55
|
+
end
|
56
|
+
|
57
|
+
desc 'Run Enterprise Search integration tests'
|
58
|
+
task :enterprisesearch do
|
59
|
+
sh 'rspec spec/integration/enterprise_search_api_spec.rb'
|
60
|
+
end
|
61
|
+
|
62
|
+
desc 'Run Workplace Search integration tests'
|
63
|
+
task :workplacesearch do
|
64
|
+
sh 'rspec spec/integration/workplace-search'
|
65
|
+
end
|
66
|
+
end
|
48
67
|
end
|
68
|
+
# rubocop:enable Metrics/BlockLength
|
@@ -1,6 +1,8 @@
|
|
1
1
|
[[app-search-api]]
|
2
2
|
== App Search API
|
3
3
|
|
4
|
+
This document includes examples for different API requests. Please refer to the https://www.elastic.co/guide/en/app-search/current/index.html[Elastic App Search Documentation] for more information, particularly the https://www.elastic.co/guide/en/app-search/current/api-reference.html[API Reference].
|
5
|
+
|
4
6
|
=== Engines
|
5
7
|
|
6
8
|
[source,rb]
|
@@ -146,6 +148,160 @@ client.list_curations(engine_name)
|
|
146
148
|
client.delete_curation(engine_name, curation_id: 'cur-id')
|
147
149
|
----------------------------
|
148
150
|
|
151
|
+
=== Api Key
|
152
|
+
|
153
|
+
[source,rb]
|
154
|
+
----------------------------
|
155
|
+
# Create API Key
|
156
|
+
body = {
|
157
|
+
name: name,
|
158
|
+
type: 'private',
|
159
|
+
read: true,
|
160
|
+
write: true,
|
161
|
+
access_all_engines: true
|
162
|
+
}
|
163
|
+
response = client.create_api_key(body: body)
|
164
|
+
|
165
|
+
# Get the details of an API Key
|
166
|
+
client.api_key(api_key_name: name)
|
167
|
+
|
168
|
+
# List API Keys
|
169
|
+
client.list_api_keys
|
170
|
+
|
171
|
+
# Update an API Key
|
172
|
+
body = { name: name, type: 'private', read: true, write: true, engines: ['test'] }
|
173
|
+
client.put_api_key(api_key_name: name, body: body)
|
174
|
+
|
175
|
+
# Delete an API Key
|
176
|
+
client.delete_api_key(api_key_name: name)
|
177
|
+
----------------------------
|
178
|
+
|
179
|
+
=== Web Crawler
|
180
|
+
|
181
|
+
[CAUTION]
|
182
|
+
====
|
183
|
+
The Elastic Enterprise Search web crawler API is a *beta* feature.
|
184
|
+
Beta features are subject to change and are not covered by the support SLA of general release (GA) features.
|
185
|
+
Elastic plans to promote this feature to GA in a future release.
|
186
|
+
====
|
187
|
+
|
188
|
+
See https://www.elastic.co/guide/en/app-search/current/web-crawler-api-reference.html[Web Crawler API reference] for more information.
|
189
|
+
|
190
|
+
[source,rb]
|
191
|
+
----------------------------
|
192
|
+
# Create a crawler domain
|
193
|
+
body = { name: 'https://www.elastic.co' }
|
194
|
+
client.create_crawler_domain(engine_name, body: body)
|
195
|
+
|
196
|
+
# Get crawler domain information
|
197
|
+
client.crawler_domain(engine_name, domain_id: domain_id)
|
198
|
+
|
199
|
+
# Update a crawler domain
|
200
|
+
body = { name: 'https://www.wikipedia.org' }
|
201
|
+
client.put_crawler_domain(engine_name, domain_id: domain_id, domain: body)
|
202
|
+
|
203
|
+
# Delete a crawler domain
|
204
|
+
client.delete_crawler_domain(engine_name, domain_id: domain_id)
|
205
|
+
|
206
|
+
# Create a crawler crawl request
|
207
|
+
client.create_crawler_crawl_request(engine_name)
|
208
|
+
|
209
|
+
# Retrieve a crawl request
|
210
|
+
client.crawler_crawl_request(engine_name, crawl_request_id: request_id)
|
211
|
+
|
212
|
+
# Retrieve active crawl request details
|
213
|
+
client.crawler_active_crawl_request(engine_name)
|
214
|
+
|
215
|
+
# List crawl requests
|
216
|
+
client.list_crawler_crawl_requests(engine_name)
|
217
|
+
|
218
|
+
# Delete an active crawl request
|
219
|
+
client.delete_active_crawl_request(engine_name)
|
220
|
+
|
221
|
+
# Set a crawler crawl schedule
|
222
|
+
body = { frequency: 1, unit: 'day' }
|
223
|
+
client.put_crawler_crawl_schedule(engine_name, body: body)
|
224
|
+
|
225
|
+
# Retrieve crawler crawl schedule
|
226
|
+
client.crawler_crawl_schedule(engine_name)
|
227
|
+
|
228
|
+
# Delete a crawler crawl schedule
|
229
|
+
client.delete_crawler_crawl_schedule(engine_name)
|
230
|
+
|
231
|
+
# Create a crawler entry point
|
232
|
+
client.create_crawler_entry_point(engine_name, domain_id: domain_id, body: { value: '/elastic-stack' })
|
233
|
+
|
234
|
+
# Update a crawler entry point
|
235
|
+
client.put_crawler_entry_point(
|
236
|
+
engine_name,
|
237
|
+
domain_id: domain_id,
|
238
|
+
entry_point_id: entry_point_id,
|
239
|
+
body: { value: '/enterprise-search' }
|
240
|
+
)
|
241
|
+
|
242
|
+
# Validate a URL
|
243
|
+
client.crawler_url_validation_result(engine_name, url: name)
|
244
|
+
|
245
|
+
# Extract ccontent from a URL
|
246
|
+
client.crawler_url_extraction_result(engine_name, url: name)
|
247
|
+
|
248
|
+
# Retrieve tracing history for a crawler URL
|
249
|
+
client.crawler_url_tracing_result(engine_name, url: name)
|
250
|
+
|
251
|
+
# Delete a crawler entry point
|
252
|
+
client.delete_crawler_entry_point(
|
253
|
+
engine_name,
|
254
|
+
domain_id: domain_id,
|
255
|
+
entry_point_id: entry_point_id
|
256
|
+
)
|
257
|
+
|
258
|
+
# Retrieve crawler metrics
|
259
|
+
client.crawler_metrics
|
260
|
+
|
261
|
+
# Retrieve crawler configuration overview
|
262
|
+
client.crawler_overview(engine_name)
|
263
|
+
|
264
|
+
# Create a crawler sitemap
|
265
|
+
body = { url: 'https://www.elastic.co/sitemap.xml' }
|
266
|
+
client.create_crawler_sitemap(engine_name, domain_id: domain_id, body: body)
|
267
|
+
|
268
|
+
# Update a crawler sitemap
|
269
|
+
body = { url: 'https://www.elastic.co/sitemap2.xml' }
|
270
|
+
client.put_crawler_sitemap(engine_name, domain_id: domain_id, sitemap_id: sitemap_id, body: body)
|
271
|
+
|
272
|
+
# Delete a crawler sitemap
|
273
|
+
client.delete_crawler_sitemap(engine_name, domain_id: domain_id, sitemap_id: sitemap_id)
|
274
|
+
|
275
|
+
# Create a crawler crawl rule
|
276
|
+
body = { order: 1, policy: 'allow', rule: 'contains', pattern: '/stack' }
|
277
|
+
client.create_crawler_crawl_rule(engine_name, domain_id: domain_id, body: body)
|
278
|
+
|
279
|
+
# Update a crawler crawl rule
|
280
|
+
body = { order: 2, policy: 'allow', rule: 'begins', pattern: '/stack' }
|
281
|
+
client.put_crawler_crawl_rule(engine_name, domain_id: domain_id, crawl_rule_id: rule_id, body: body)
|
282
|
+
|
283
|
+
# Delete a crawler crawl rule
|
284
|
+
client.delete_crawler_crawl_rule(engine_name, domain_id: domain_id, crawl_rule_id: rule_id)
|
285
|
+
|
286
|
+
# Create a process crawl
|
287
|
+
client.create_crawler_process_crawl(engine_name, body: { dry_run: true })
|
288
|
+
|
289
|
+
# Retrieve a process crawl
|
290
|
+
client.crawler_process_crawl(engine_name, process_crawl_id: id)
|
291
|
+
|
292
|
+
# Retrieve denied URLs cor a process crawl
|
293
|
+
client.denied_urls(engine_name, process_crawl_id: id)
|
294
|
+
|
295
|
+
# List process crawls
|
296
|
+
client.list_crawler_process_crawls(engine_name)
|
297
|
+
|
298
|
+
# View denied urls for Process Crawl
|
299
|
+
client.crawler_process_crawl_denied_urls(engine_name, process_crawl_id: id)
|
300
|
+
|
301
|
+
# Cancel an active crawl request, stopping a running crawl if needed.
|
302
|
+
client.delete_crawler_active_crawl_request(engine_name)
|
303
|
+
----------------------------
|
304
|
+
|
149
305
|
=== Other API Endpoints
|
150
306
|
|
151
307
|
[source,rb]
|
@@ -179,7 +335,7 @@ client.put_search_settings(engine_name, body: body)
|
|
179
335
|
client.reset_search_settings(engine_name)
|
180
336
|
|
181
337
|
# Click - Send data about clicked results
|
182
|
-
client.log_clickthrough(engine_name,
|
338
|
+
client.log_clickthrough(engine_name, body: { query: 'query', document_id: 'doc-id' })
|
183
339
|
|
184
340
|
# Query Suggestion - Provide relevant query suggestions for incomplete queries
|
185
341
|
client.query_suggestion(engine_name, query: 'incomplete_query')
|
@@ -87,7 +87,13 @@ client.search(engine_name, query: 'jungle')
|
|
87
87
|
[[auth-ws]]
|
88
88
|
==== Authenticating with Workplace Search
|
89
89
|
|
90
|
-
|
90
|
+
Workplace Search supports multiple authentication methods:
|
91
|
+
|
92
|
+
[discrete]
|
93
|
+
[[access-tokens]]
|
94
|
+
===== Workplace Search admin user access tokens
|
95
|
+
|
96
|
+
In your Elastic Workplace Search dashboard navigate to _Sources/Add a Shared Content Source_ and select _Custom API Source_ to create a new source. Name your source (e.g. `Enterprise Search Ruby Client`) and once it's created you'll get an `access token` and an `ID`.
|
91
97
|
|
92
98
|
The Workplace Search client can be accessed from an existing Enterprise Search Client, or you can initialize a new one. If you instantiate the Workplace Search client from an existing Enterprise Search Client, it's going to share the HTTP transport instance, so it's going to connect to the same host, which is a common scenario. However, if you want to connect to a different host, you should instantiate a new Workplace Client on its own:
|
93
99
|
|
@@ -109,6 +115,46 @@ workplace_search_client = Elastic::EnterpriseSearch::WorkplaceSearch::Client.new
|
|
109
115
|
)
|
110
116
|
----------------------------
|
111
117
|
|
118
|
+
[discrete]
|
119
|
+
[[basic-auth]]
|
120
|
+
===== Basic Authentication
|
121
|
+
|
122
|
+
Workplace Search APIs support basic authentication headers to authenticate users. All Workplace Search APIs support basic authentication:
|
123
|
+
|
124
|
+
[source,rb]
|
125
|
+
----------------------------
|
126
|
+
host = 'https://id.ent-search.europe-west2.gcp.elastic-cloud.com'
|
127
|
+
basic_auth = { user: 'enterprise_search', password: 'changeme' }
|
128
|
+
|
129
|
+
workplace_search_client = Elastic::EnterpriseSearch::WorkplaceSearch::Client.new(
|
130
|
+
host: host,
|
131
|
+
http_auth: basic_auth
|
132
|
+
)
|
133
|
+
----------------------------
|
134
|
+
|
135
|
+
[discrete]
|
136
|
+
[[es-tokens]]
|
137
|
+
===== Elasticsearch tokens
|
138
|
+
|
139
|
+
Workplace Search APIs support Elasticsearch tokens generated by the Elasticsearch Token Service. All Workplace Search APIs support Elasticsearch tokens as an authentication method.
|
140
|
+
|
141
|
+
[source,rb]
|
142
|
+
----------------------------
|
143
|
+
host = 'https://id.ent-search.europe-west2.gcp.elastic-cloud.com'
|
144
|
+
access_token = '<access token>'
|
145
|
+
|
146
|
+
workplace_search_client = Elastic::EnterpriseSearch::WorkplaceSearch::Client.new(
|
147
|
+
host: host,
|
148
|
+
http_auth: access_token
|
149
|
+
)
|
150
|
+
----------------------------
|
151
|
+
|
152
|
+
[discrete]
|
153
|
+
[[ws-oauth]]
|
154
|
+
===== Workplace Search OAuth access tokens
|
155
|
+
|
156
|
+
The Search API and the Analytics Events API support user access tokens generated by the Workplace Search OAuth Service. The token is acquired via an OAuth authorization flow. User access tokens are meant to be used for Custom Search Experiences. Check <<ws-oauth-authentication>>.
|
157
|
+
|
112
158
|
[discrete]
|
113
159
|
[[custom_headers]]
|
114
160
|
=== Custom HTTP Headers
|
@@ -6,7 +6,7 @@ This is the official Ruby client for Elastic Enterprise Search.
|
|
6
6
|
[discrete]
|
7
7
|
=== Compatibility
|
8
8
|
|
9
|
-
Current development happens in the
|
9
|
+
Current development happens in the main branch.
|
10
10
|
|
11
11
|
The library is compatible with all Elastic Enterprise Search versions since `7.x` but you **have to use a matching major version**:
|
12
12
|
|
@@ -14,11 +14,11 @@ For **Elastic Enterprise Search 7.0** and later, use the major version 7 (`7.x.y
|
|
14
14
|
|
15
15
|
[discrete]
|
16
16
|
=== HTTP Library
|
17
|
-
This library uses https://github.com/elastic/elasticsearch-ruby/tree/
|
17
|
+
This library uses https://github.com/elastic/elasticsearch-ruby/tree/main/elasticsearch-transport[elasticsearch-transport], the low-level Ruby client for connecting to an Elasticsearch cluster - also used in the official https://github.com/elastic/elasticsearch-ruby[Elasticsearch Ruby Client].
|
18
18
|
|
19
19
|
All requests, if successful, will return an `Elasticsearch::Transport::Transport::Response` instance. You can access the response `body`, `headers` and `status`.
|
20
20
|
|
21
|
-
`elasticsearch-transport` defines a https://github.com/elasticsearch/elasticsearch-ruby/blob/
|
21
|
+
`elasticsearch-transport` defines a https://github.com/elasticsearch/elasticsearch-ruby/blob/main/elasticsearch-transport/lib/elasticsearch/transport/transport/errors.rb[number of exception classes] for various client and server errors, as well as unsuccessful HTTP responses, making it possible to rescue specific exceptions with desired granularity. More details https://github.com/elastic/elasticsearch-ruby/tree/main/elasticsearch-transport#exception-handling[here]. You can find the full documentation for `elasticsearch-transport` at https://rubydoc.info/gems/elasticsearch-transport[RubyDoc].
|
22
22
|
|
23
23
|
The clients pass different options to transport, you can check them out https://rubydoc.info/github/elastic/enterprise-search-ruby/Elastic/EnterpriseSearch/Client[on RubyDocs].
|
24
24
|
|
@@ -26,13 +26,3 @@
|
|
26
26
|
|
27
27
|
- Updates source code documentation for `current_page` and `page_size` parameters from type `String` to `Integer`.
|
28
28
|
- In `multi_search`, the body parameter is renamed to `body` from `queries` to avoid repetition and potential confusion.
|
29
|
-
|
30
|
-
[discrete]
|
31
|
-
==== Workplace Search
|
32
|
-
|
33
|
-
- Body parameter renamed to `document_ids` in `delete_documents`:
|
34
|
-
|
35
|
-
[source,rb]
|
36
|
-
----------------------------
|
37
|
-
client.delete_documents(content_source_id, document_ids: ['e68fbc2688f1', 'c535e226aee3'])
|
38
|
-
----------------------------
|