elastic-enterprise-search 0.3.1 → 7.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ci/.gitignore +1 -0
- data/.ci/Dockerfile +12 -0
- data/.ci/certs/README.md +50 -0
- data/.ci/certs/ca.crt +20 -0
- data/.ci/certs/ca.key +27 -0
- data/.ci/certs/testnode.crt +21 -0
- data/.ci/certs/testnode.key +27 -0
- data/.ci/certs/testnode_no_san.crt +19 -0
- data/.ci/certs/testnode_no_san.key +27 -0
- data/.ci/functions/cleanup.sh +67 -0
- data/.ci/functions/imports.sh +59 -0
- data/.ci/functions/wait-for-container.sh +36 -0
- data/.ci/jobs/defaults.yml +69 -0
- data/.ci/jobs/elastic+enterprise-search-ruby+7.11.yml +12 -0
- data/.ci/jobs/elastic+enterprise-search-ruby+master.yml +12 -0
- data/.ci/jobs/elastic+enterprise-search-ruby+pull-request.yml +19 -0
- data/.ci/run-elasticsearch.sh +127 -0
- data/.ci/run-enterprise-search.sh +71 -0
- data/.ci/run-local.sh +14 -0
- data/.ci/run-repository.sh +49 -0
- data/.ci/run-tests +27 -0
- data/.ci/test-matrix.yml +14 -0
- data/.github/workflows/rubocop.yml +15 -0
- data/.github/workflows/testing.yml +40 -0
- data/.gitignore +4 -0
- data/.rubocop.yml +52 -0
- data/CONTRIBUTING.md +43 -0
- data/Gemfile +23 -1
- data/{LICENSE.txt → LICENSE} +33 -32
- data/README.md +27 -147
- data/Rakefile +48 -1
- data/docs/guide/app-search-api.asciidoc +186 -0
- data/docs/guide/connecting.asciidoc +125 -0
- data/docs/guide/development.asciidoc +42 -0
- data/docs/guide/enterprise-search-api.asciidoc +46 -0
- data/docs/guide/index.asciidoc +19 -0
- data/docs/guide/installation.asciidoc +18 -0
- data/docs/guide/overview.asciidoc +59 -0
- data/docs/guide/release_notes/710.asciidoc +4 -0
- data/docs/guide/release_notes/711.asciidoc +27 -0
- data/docs/guide/release_notes/712.asciidoc +38 -0
- data/docs/guide/release_notes/index.asciidoc +14 -0
- data/docs/guide/workplace-search-api.asciidoc +121 -0
- data/elastic-enterprise-search.gemspec +49 -13
- data/lib/elastic-enterprise-search.rb +20 -1
- data/lib/elastic/.rubocop.yml +6 -0
- data/lib/elastic/app-search/api/add_meta_engine_source.rb +51 -0
- data/lib/elastic/app-search/api/api_logs.rb +62 -0
- data/lib/elastic/app-search/api/count_analytics.rb +52 -0
- data/lib/elastic/app-search/api/create_curation.rb +54 -0
- data/lib/elastic/app-search/api/create_engine.rb +53 -0
- data/lib/elastic/app-search/api/create_synonym_set.rb +51 -0
- data/lib/elastic/app-search/api/curation.rb +53 -0
- data/lib/elastic/app-search/api/delete_curation.rb +53 -0
- data/lib/elastic/app-search/api/delete_documents.rb +51 -0
- data/lib/elastic/app-search/api/delete_engine.rb +50 -0
- data/lib/elastic/app-search/api/delete_meta_engine_source.rb +51 -0
- data/lib/elastic/app-search/api/delete_synonym_set.rb +53 -0
- data/lib/elastic/app-search/api/documents.rb +51 -0
- data/lib/elastic/app-search/api/engine.rb +50 -0
- data/lib/elastic/app-search/api/index_documents.rb +51 -0
- data/lib/elastic/app-search/api/list_curations.rb +52 -0
- data/lib/elastic/app-search/api/list_documents.rb +52 -0
- data/lib/elastic/app-search/api/list_engines.rb +49 -0
- data/lib/elastic/app-search/api/list_synonym_sets.rb +52 -0
- data/lib/elastic/app-search/api/log_clickthrough.rb +57 -0
- data/lib/elastic/app-search/api/multi_search.rb +51 -0
- data/lib/elastic/app-search/api/put_curation.rb +57 -0
- data/lib/elastic/app-search/api/put_documents.rb +51 -0
- data/lib/elastic/app-search/api/put_schema.rb +51 -0
- data/lib/elastic/app-search/api/put_search_settings.rb +51 -0
- data/lib/elastic/app-search/api/put_synonym_set.rb +54 -0
- data/lib/elastic/app-search/api/query_suggestion.rb +54 -0
- data/lib/elastic/app-search/api/reset_search_settings.rb +50 -0
- data/lib/elastic/app-search/api/schema.rb +50 -0
- data/lib/elastic/app-search/api/search.rb +50 -0
- data/lib/elastic/app-search/api/search_settings.rb +50 -0
- data/lib/elastic/app-search/api/synonym_set.rb +53 -0
- data/lib/elastic/app-search/api/top_clicks_analytics.rb +54 -0
- data/lib/elastic/app-search/api/top_queries_analytics.rb +53 -0
- data/lib/elastic/app-search/app_search.rb +82 -0
- data/lib/elastic/enterprise-search/api/health.rb +43 -0
- data/lib/elastic/enterprise-search/api/put_read_only.rb +44 -0
- data/lib/elastic/enterprise-search/api/read_only.rb +43 -0
- data/lib/elastic/enterprise-search/api/stats.rb +45 -0
- data/lib/elastic/enterprise-search/api/version.rb +43 -0
- data/lib/elastic/enterprise-search/client.rb +93 -15
- data/lib/elastic/enterprise-search/configuration.rb +32 -16
- data/lib/elastic/enterprise-search/exceptions.rb +19 -0
- data/lib/elastic/enterprise-search/request.rb +59 -81
- data/lib/elastic/enterprise-search/utils.rb +28 -1
- data/lib/elastic/enterprise-search/version.rb +20 -1
- data/lib/elastic/enterprise_search.rb +38 -0
- data/lib/elastic/workplace-search/api/add_user_permissions.rb +54 -0
- data/lib/elastic/workplace-search/api/create_analytics_event.rb +59 -0
- data/lib/elastic/workplace-search/api/create_external_identity.rb +51 -0
- data/lib/elastic/workplace-search/api/delete_documents.rb +51 -0
- data/lib/elastic/workplace-search/api/delete_external_identity.rb +53 -0
- data/lib/elastic/workplace-search/api/external_identity.rb +53 -0
- data/lib/elastic/workplace-search/api/index_documents.rb +52 -0
- data/lib/elastic/workplace-search/api/list_external_identities.rb +51 -0
- data/lib/elastic/workplace-search/api/list_permissions.rb +51 -0
- data/lib/elastic/workplace-search/api/put_external_identity.rb +54 -0
- data/lib/elastic/workplace-search/api/put_user_permissions.rb +54 -0
- data/lib/elastic/workplace-search/api/remove_user_permissions.rb +54 -0
- data/lib/elastic/workplace-search/api/search.rb +60 -0
- data/lib/elastic/workplace-search/api/user_permissions.rb +53 -0
- data/lib/elastic/workplace-search/workplace_search.rb +84 -0
- data/spec/app-search/api_count_analytics_spec.rb +34 -0
- data/spec/app-search/api_curations_spec.rb +97 -0
- data/spec/app-search/api_documents_spec.rb +102 -0
- data/spec/app-search/api_engines_spec.rb +67 -0
- data/spec/app-search/api_log_clickthrough_spec.rb +34 -0
- data/spec/app-search/api_logs_spec.rb +36 -0
- data/spec/app-search/api_meta_engines_spec.rb +72 -0
- data/spec/app-search/api_query_suggestion_spec.rb +39 -0
- data/spec/app-search/api_schema_spec.rb +48 -0
- data/spec/app-search/api_search_and_multi_search_spec.rb +48 -0
- data/spec/app-search/api_search_settings_spec.rb +76 -0
- data/spec/app-search/api_spec_helper.rb +14 -0
- data/spec/app-search/api_synonyms_spec.rb +79 -0
- data/spec/app-search/api_top_clicks_analytics_spec.rb +44 -0
- data/spec/app-search/api_top_queries_analytics_spec.rb +34 -0
- data/spec/app-search/client_spec.rb +88 -0
- data/spec/app-search/date_spec.rb +69 -0
- data/spec/enterprise-search/client_spec.rb +107 -0
- data/spec/enterprise-search/request_spec.rb +136 -0
- data/spec/enterprise-search/utils_spec.rb +46 -0
- data/spec/fixtures/vcr/app_search/add_meta_engine_source.yml +109 -0
- data/spec/fixtures/vcr/app_search/api_documents.yml +56 -0
- data/spec/fixtures/vcr/app_search/api_index_documents.yml +57 -0
- data/spec/fixtures/vcr/app_search/api_log_clickthrough.yml +54 -0
- data/spec/fixtures/vcr/app_search/api_logs.yml +70 -0
- data/spec/fixtures/vcr/app_search/api_put_schema.yml +109 -0
- data/spec/fixtures/vcr/app_search/api_put_search_settings.yml +56 -0
- data/spec/fixtures/vcr/app_search/api_query_suggestion.yml +59 -0
- data/spec/fixtures/vcr/app_search/api_reset_search_settings.yml +56 -0
- data/spec/fixtures/vcr/app_search/api_schema.yml +56 -0
- data/spec/fixtures/vcr/app_search/api_search_settings.yml +56 -0
- data/spec/fixtures/vcr/app_search/api_top_clicks_analytics.yml +55 -0
- data/spec/fixtures/vcr/app_search/api_top_clicks_analytics_query.yml +55 -0
- data/spec/fixtures/vcr/app_search/api_top_queries_analytics.yml +55 -0
- data/spec/fixtures/vcr/app_search/count_analytics.yml +55 -0
- data/spec/fixtures/vcr/app_search/create_and_update_document.yml +107 -0
- data/spec/fixtures/vcr/app_search/create_curation.yml +113 -0
- data/spec/fixtures/vcr/app_search/create_engine.yml +55 -0
- data/spec/fixtures/vcr/app_search/create_meta_engine.yml +56 -0
- data/spec/fixtures/vcr/app_search/create_synonym_set.yml +56 -0
- data/spec/fixtures/vcr/app_search/delete_curation.yml +56 -0
- data/spec/fixtures/vcr/app_search/delete_engine.yml +55 -0
- data/spec/fixtures/vcr/app_search/delete_meta_engine_source.yml +56 -0
- data/spec/fixtures/vcr/app_search/delete_synonym_set.yml +56 -0
- data/spec/fixtures/vcr/app_search/get_curation.yml +56 -0
- data/spec/fixtures/vcr/app_search/get_engine.yml +55 -0
- data/spec/fixtures/vcr/app_search/index_and_delete_document.yml +107 -0
- data/spec/fixtures/vcr/app_search/list_curations.yml +56 -0
- data/spec/fixtures/vcr/app_search/list_documents.yml +57 -0
- data/spec/fixtures/vcr/app_search/list_engines.yml +55 -0
- data/spec/fixtures/vcr/app_search/list_synonym_sets.yml +56 -0
- data/spec/fixtures/vcr/app_search/multi_query_search.yml +63 -0
- data/spec/fixtures/vcr/app_search/put_curation.yml +113 -0
- data/spec/fixtures/vcr/app_search/put_synonym_set.yml +56 -0
- data/spec/fixtures/vcr/app_search/search.yml +57 -0
- data/spec/fixtures/vcr/app_search/single_query_search.yml +60 -0
- data/spec/fixtures/vcr/app_search/synonym_set.yml +56 -0
- data/spec/fixtures/vcr/workplace_search/add_user_permissions.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/clear_user_permissions.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/create_analytics_event.yml +55 -0
- data/spec/fixtures/vcr/workplace_search/create_external_identity.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/delete_documents.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/delete_external_identity.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/index_documents.yml +55 -0
- data/spec/fixtures/vcr/workplace_search/list_external_identities.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/list_permissions.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/oauth_request_token.yml +57 -0
- data/spec/fixtures/vcr/workplace_search/put_external_identity.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/put_user_permissions.yml +103 -0
- data/spec/fixtures/vcr/workplace_search/remove_user_permissions.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/retrieve_external_identity.yml +53 -0
- data/spec/fixtures/vcr/workplace_search/search_request.yml +60 -0
- data/spec/fixtures/vcr/workplace_search/user_permissions_empty.yml +53 -0
- data/spec/integration/enterprise_search_api_spec.rb +96 -0
- data/spec/spec_helper.rb +27 -14
- data/spec/webmock_requires.rb +4 -0
- data/spec/workplace-search/client_spec.rb +77 -0
- data/spec/workplace-search/create_analytics_event_spec.rb +59 -0
- data/spec/workplace-search/documents_spec.rb +80 -0
- data/spec/workplace-search/external_identities_spec.rb +84 -0
- data/spec/workplace-search/permissions_spec.rb +136 -0
- data/spec/workplace-search/search_spec.rb +53 -0
- metadata +279 -47
- data/.circleci/config.yml +0 -68
- data/.travis.yml +0 -15
- data/NOTICE.txt +0 -3
- data/lib/elastic/enterprise-search.rb +0 -7
- data/lib/elastic/enterprise-search/client/content_source_documents.rb +0 -46
- data/lib/elastic/enterprise-search/client/permissions.rb +0 -30
- data/logo-enterprise-search.png +0 -0
- data/spec/client/content_source_documents_spec.rb +0 -55
- data/spec/client/permissions_spec.rb +0 -75
- data/spec/configuration_spec.rb +0 -19
- data/spec/fixtures/vcr/add_user_permissions.yml +0 -55
- data/spec/fixtures/vcr/async_create_or_update_document_success.yml +0 -51
- data/spec/fixtures/vcr/destroy_documents_success.yml +0 -51
- data/spec/fixtures/vcr/get_user_permissions.yml +0 -55
- data/spec/fixtures/vcr/list_all_permissions.yml +0 -55
- data/spec/fixtures/vcr/list_all_permissions_with_paging.yml +0 -55
- data/spec/fixtures/vcr/remove_user_permissions.yml +0 -55
- data/spec/fixtures/vcr/update_user_permissions.yml +0 -55
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Click - Send data about clicked results
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [String] :query_text Search query text (*Required*)
|
29
|
+
# @option arguments :document_id The ID of the document that was clicked on (*Required*)
|
30
|
+
# @option arguments [String] :request_id The request ID returned in the meta tag of a search API response
|
31
|
+
# @option arguments [Array] :tags Array of strings representing additional information you wish to track with the clickthrough
|
32
|
+
# @option arguments [Hash] :body The request body
|
33
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/app-search/current/clickthrough.html
|
36
|
+
#
|
37
|
+
def log_clickthrough(engine_name, arguments = {})
|
38
|
+
raise ArgumentError, "Required parameter 'query_text' missing" unless arguments[:query_text]
|
39
|
+
raise ArgumentError, "Required parameter 'document_id' missing" unless arguments[:document_id]
|
40
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
41
|
+
|
42
|
+
body = arguments.delete(:body) || {}
|
43
|
+
headers = arguments.delete(:headers) || {}
|
44
|
+
arguments['query'] = arguments.delete(:query_text)
|
45
|
+
|
46
|
+
request(
|
47
|
+
:post,
|
48
|
+
"api/as/v1/engines/#{engine_name}/click/",
|
49
|
+
arguments,
|
50
|
+
body,
|
51
|
+
headers
|
52
|
+
)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Search - Run several search in the same request
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Object] :body One or more queries to execute in parallel (*Required*)
|
29
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/app-search/current/multi-search.html
|
32
|
+
#
|
33
|
+
def multi_search(engine_name, arguments = {})
|
34
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
35
|
+
raise ArgumentError, "Required parameter 'body' missing" unless arguments[:body]
|
36
|
+
|
37
|
+
body = arguments.delete(:body) || {}
|
38
|
+
headers = arguments.delete(:headers) || {}
|
39
|
+
|
40
|
+
request(
|
41
|
+
:post,
|
42
|
+
"api/as/v1/engines/#{engine_name}/multi_search/",
|
43
|
+
arguments,
|
44
|
+
body,
|
45
|
+
headers
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Curations - Update an existing curation
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Array] :queries List of affected search queries (*Required*)
|
29
|
+
# @option arguments [String] :curation_id (*Required*)
|
30
|
+
# @option arguments :promoted_doc_ids List of promoted document IDs
|
31
|
+
# @option arguments :hidden_doc_ids List of hidden document IDs
|
32
|
+
# @option arguments [Hash] :body The request body
|
33
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/app-search/current/curations.html#curations-update
|
36
|
+
#
|
37
|
+
def put_curation(engine_name, arguments = {})
|
38
|
+
raise ArgumentError, "Required parameter 'queries' missing" unless arguments[:queries]
|
39
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
40
|
+
raise ArgumentError, "Required parameter 'curation_id' missing" unless arguments[:curation_id]
|
41
|
+
|
42
|
+
curation_id = arguments[:curation_id]
|
43
|
+
body = arguments.delete(:body) || {}
|
44
|
+
headers = arguments.delete(:headers) || {}
|
45
|
+
|
46
|
+
request(
|
47
|
+
:put,
|
48
|
+
"api/as/v1/engines/#{engine_name}/curations/#{curation_id}/",
|
49
|
+
arguments,
|
50
|
+
body,
|
51
|
+
headers
|
52
|
+
)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Documents - Partial update of documents
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Array] :documents List of documents to update (*Required*)
|
29
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/app-search/current/documents.html#documents-partial
|
32
|
+
#
|
33
|
+
def put_documents(engine_name, arguments = {})
|
34
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
35
|
+
raise ArgumentError, "Required parameter 'documents' missing" unless arguments[:documents]
|
36
|
+
|
37
|
+
documents = arguments.delete(:documents) || {}
|
38
|
+
headers = arguments.delete(:headers) || {}
|
39
|
+
|
40
|
+
request(
|
41
|
+
:patch,
|
42
|
+
"api/as/v1/engines/#{engine_name}/documents/",
|
43
|
+
arguments,
|
44
|
+
documents,
|
45
|
+
headers
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Schema - Update schema for the current engine
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Object] :schema Schema description (*Required*)
|
29
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/app-search/current/schema.html#schema-patch
|
32
|
+
#
|
33
|
+
def put_schema(engine_name, arguments = {})
|
34
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
35
|
+
raise ArgumentError, "Required parameter 'schema' missing" unless arguments[:schema]
|
36
|
+
|
37
|
+
schema = arguments.delete(:schema) || {}
|
38
|
+
headers = arguments.delete(:headers) || {}
|
39
|
+
|
40
|
+
request(
|
41
|
+
:post,
|
42
|
+
"api/as/v1/engines/#{engine_name}/schema/",
|
43
|
+
arguments,
|
44
|
+
schema,
|
45
|
+
headers
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Searchsettings - Update search settings for the engine
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Object] :body Search settings (*Required*)
|
29
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/app-search/current/search-settings.html#search-settings-update
|
32
|
+
#
|
33
|
+
def put_search_settings(engine_name, arguments = {})
|
34
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
35
|
+
raise ArgumentError, "Required parameter 'body' missing" unless arguments[:body]
|
36
|
+
|
37
|
+
body = arguments.delete(:body) || {}
|
38
|
+
headers = arguments.delete(:headers) || {}
|
39
|
+
|
40
|
+
request(
|
41
|
+
:put,
|
42
|
+
"api/as/v1/engines/#{engine_name}/search_settings/",
|
43
|
+
arguments,
|
44
|
+
body,
|
45
|
+
headers
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Synonyms - Update a synonym set by ID
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [String] :synonym_set_id (*Required*)
|
29
|
+
# @option arguments [Object] :body Synonym set description (*Required*)
|
30
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/app-search/current/synonyms.html#synonyms-update
|
33
|
+
#
|
34
|
+
def put_synonym_set(engine_name, arguments = {})
|
35
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
36
|
+
raise ArgumentError, "Required parameter 'synonym_set_id' missing" unless arguments[:synonym_set_id]
|
37
|
+
raise ArgumentError, "Required parameter 'body' missing" unless arguments[:body]
|
38
|
+
|
39
|
+
synonym_set_id = arguments[:synonym_set_id]
|
40
|
+
body = arguments.delete(:body) || {}
|
41
|
+
headers = arguments.delete(:headers) || {}
|
42
|
+
|
43
|
+
request(
|
44
|
+
:put,
|
45
|
+
"api/as/v1/engines/#{engine_name}/synonyms/#{synonym_set_id}/",
|
46
|
+
arguments,
|
47
|
+
body,
|
48
|
+
headers
|
49
|
+
)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Querysuggestion - Provide relevant query suggestions for incomplete queries
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [String] :query A partial query for which to receive suggestions (*Required*)
|
29
|
+
# @option arguments [Array] :fields List of fields to use to generate suggestions. Defaults to all text fields
|
30
|
+
# @option arguments [Integer] :size Number of query suggestions to return. Must be between 1 and 20. Defaults to 5
|
31
|
+
# @option arguments [Hash] :body The request body
|
32
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
33
|
+
#
|
34
|
+
# @see https://www.elastic.co/guide/en/app-search/current/query-suggestion.html
|
35
|
+
#
|
36
|
+
def query_suggestion(engine_name, arguments = {})
|
37
|
+
raise ArgumentError, "Required parameter 'query' missing" unless arguments[:query]
|
38
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
39
|
+
|
40
|
+
body = arguments.delete(:body) || {}
|
41
|
+
headers = arguments.delete(:headers) || {}
|
42
|
+
|
43
|
+
request(
|
44
|
+
:post,
|
45
|
+
"api/as/v1/engines/#{engine_name}/query_suggestion/",
|
46
|
+
arguments,
|
47
|
+
body,
|
48
|
+
headers
|
49
|
+
)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
4
|
+
# license agreements. See the NOTICE file distributed with
|
5
|
+
# this work for additional information regarding copyright
|
6
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
7
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
8
|
+
# not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing,
|
14
|
+
# software distributed under the License is distributed on an
|
15
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
# KIND, either express or implied. See the License for the
|
17
|
+
# specific language governing permissions and limitations
|
18
|
+
# under the License.
|
19
|
+
|
20
|
+
module Elastic
|
21
|
+
module EnterpriseSearch
|
22
|
+
module AppSearch
|
23
|
+
module Actions
|
24
|
+
# Searchsettings - Reset search settings for the engine
|
25
|
+
#
|
26
|
+
# @param engine_name [String] (*Required*)
|
27
|
+
# @param arguments [Hash] endpoint arguments
|
28
|
+
# @option arguments [Hash] :body The request body
|
29
|
+
# @option arguments [Hash] :headers optional HTTP headers to send with the request
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/app-search/current/search-settings.html#search-settings-reset
|
32
|
+
#
|
33
|
+
def reset_search_settings(engine_name, arguments = {})
|
34
|
+
raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
|
35
|
+
|
36
|
+
body = arguments.delete(:body) || {}
|
37
|
+
headers = arguments.delete(:headers) || {}
|
38
|
+
|
39
|
+
request(
|
40
|
+
:post,
|
41
|
+
"api/as/v1/engines/#{engine_name}/search_settings/reset/",
|
42
|
+
arguments,
|
43
|
+
body,
|
44
|
+
headers
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|