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.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/.gitignore +1 -0
  3. data/.ci/Dockerfile +12 -0
  4. data/.ci/certs/README.md +50 -0
  5. data/.ci/certs/ca.crt +20 -0
  6. data/.ci/certs/ca.key +27 -0
  7. data/.ci/certs/testnode.crt +21 -0
  8. data/.ci/certs/testnode.key +27 -0
  9. data/.ci/certs/testnode_no_san.crt +19 -0
  10. data/.ci/certs/testnode_no_san.key +27 -0
  11. data/.ci/functions/cleanup.sh +67 -0
  12. data/.ci/functions/imports.sh +59 -0
  13. data/.ci/functions/wait-for-container.sh +36 -0
  14. data/.ci/jobs/defaults.yml +69 -0
  15. data/.ci/jobs/elastic+enterprise-search-ruby+7.11.yml +12 -0
  16. data/.ci/jobs/elastic+enterprise-search-ruby+master.yml +12 -0
  17. data/.ci/jobs/elastic+enterprise-search-ruby+pull-request.yml +19 -0
  18. data/.ci/run-elasticsearch.sh +127 -0
  19. data/.ci/run-enterprise-search.sh +71 -0
  20. data/.ci/run-local.sh +14 -0
  21. data/.ci/run-repository.sh +49 -0
  22. data/.ci/run-tests +27 -0
  23. data/.ci/test-matrix.yml +14 -0
  24. data/.github/workflows/rubocop.yml +15 -0
  25. data/.github/workflows/testing.yml +40 -0
  26. data/.gitignore +4 -0
  27. data/.rubocop.yml +52 -0
  28. data/CONTRIBUTING.md +43 -0
  29. data/Gemfile +23 -1
  30. data/{LICENSE.txt → LICENSE} +33 -32
  31. data/README.md +27 -147
  32. data/Rakefile +48 -1
  33. data/docs/guide/app-search-api.asciidoc +186 -0
  34. data/docs/guide/connecting.asciidoc +125 -0
  35. data/docs/guide/development.asciidoc +42 -0
  36. data/docs/guide/enterprise-search-api.asciidoc +46 -0
  37. data/docs/guide/index.asciidoc +19 -0
  38. data/docs/guide/installation.asciidoc +18 -0
  39. data/docs/guide/overview.asciidoc +59 -0
  40. data/docs/guide/release_notes/710.asciidoc +4 -0
  41. data/docs/guide/release_notes/711.asciidoc +27 -0
  42. data/docs/guide/release_notes/712.asciidoc +38 -0
  43. data/docs/guide/release_notes/index.asciidoc +14 -0
  44. data/docs/guide/workplace-search-api.asciidoc +121 -0
  45. data/elastic-enterprise-search.gemspec +49 -13
  46. data/lib/elastic-enterprise-search.rb +20 -1
  47. data/lib/elastic/.rubocop.yml +6 -0
  48. data/lib/elastic/app-search/api/add_meta_engine_source.rb +51 -0
  49. data/lib/elastic/app-search/api/api_logs.rb +62 -0
  50. data/lib/elastic/app-search/api/count_analytics.rb +52 -0
  51. data/lib/elastic/app-search/api/create_curation.rb +54 -0
  52. data/lib/elastic/app-search/api/create_engine.rb +53 -0
  53. data/lib/elastic/app-search/api/create_synonym_set.rb +51 -0
  54. data/lib/elastic/app-search/api/curation.rb +53 -0
  55. data/lib/elastic/app-search/api/delete_curation.rb +53 -0
  56. data/lib/elastic/app-search/api/delete_documents.rb +51 -0
  57. data/lib/elastic/app-search/api/delete_engine.rb +50 -0
  58. data/lib/elastic/app-search/api/delete_meta_engine_source.rb +51 -0
  59. data/lib/elastic/app-search/api/delete_synonym_set.rb +53 -0
  60. data/lib/elastic/app-search/api/documents.rb +51 -0
  61. data/lib/elastic/app-search/api/engine.rb +50 -0
  62. data/lib/elastic/app-search/api/index_documents.rb +51 -0
  63. data/lib/elastic/app-search/api/list_curations.rb +52 -0
  64. data/lib/elastic/app-search/api/list_documents.rb +52 -0
  65. data/lib/elastic/app-search/api/list_engines.rb +49 -0
  66. data/lib/elastic/app-search/api/list_synonym_sets.rb +52 -0
  67. data/lib/elastic/app-search/api/log_clickthrough.rb +57 -0
  68. data/lib/elastic/app-search/api/multi_search.rb +51 -0
  69. data/lib/elastic/app-search/api/put_curation.rb +57 -0
  70. data/lib/elastic/app-search/api/put_documents.rb +51 -0
  71. data/lib/elastic/app-search/api/put_schema.rb +51 -0
  72. data/lib/elastic/app-search/api/put_search_settings.rb +51 -0
  73. data/lib/elastic/app-search/api/put_synonym_set.rb +54 -0
  74. data/lib/elastic/app-search/api/query_suggestion.rb +54 -0
  75. data/lib/elastic/app-search/api/reset_search_settings.rb +50 -0
  76. data/lib/elastic/app-search/api/schema.rb +50 -0
  77. data/lib/elastic/app-search/api/search.rb +50 -0
  78. data/lib/elastic/app-search/api/search_settings.rb +50 -0
  79. data/lib/elastic/app-search/api/synonym_set.rb +53 -0
  80. data/lib/elastic/app-search/api/top_clicks_analytics.rb +54 -0
  81. data/lib/elastic/app-search/api/top_queries_analytics.rb +53 -0
  82. data/lib/elastic/app-search/app_search.rb +82 -0
  83. data/lib/elastic/enterprise-search/api/health.rb +43 -0
  84. data/lib/elastic/enterprise-search/api/put_read_only.rb +44 -0
  85. data/lib/elastic/enterprise-search/api/read_only.rb +43 -0
  86. data/lib/elastic/enterprise-search/api/stats.rb +45 -0
  87. data/lib/elastic/enterprise-search/api/version.rb +43 -0
  88. data/lib/elastic/enterprise-search/client.rb +93 -15
  89. data/lib/elastic/enterprise-search/configuration.rb +32 -16
  90. data/lib/elastic/enterprise-search/exceptions.rb +19 -0
  91. data/lib/elastic/enterprise-search/request.rb +59 -81
  92. data/lib/elastic/enterprise-search/utils.rb +28 -1
  93. data/lib/elastic/enterprise-search/version.rb +20 -1
  94. data/lib/elastic/enterprise_search.rb +38 -0
  95. data/lib/elastic/workplace-search/api/add_user_permissions.rb +54 -0
  96. data/lib/elastic/workplace-search/api/create_analytics_event.rb +59 -0
  97. data/lib/elastic/workplace-search/api/create_external_identity.rb +51 -0
  98. data/lib/elastic/workplace-search/api/delete_documents.rb +51 -0
  99. data/lib/elastic/workplace-search/api/delete_external_identity.rb +53 -0
  100. data/lib/elastic/workplace-search/api/external_identity.rb +53 -0
  101. data/lib/elastic/workplace-search/api/index_documents.rb +52 -0
  102. data/lib/elastic/workplace-search/api/list_external_identities.rb +51 -0
  103. data/lib/elastic/workplace-search/api/list_permissions.rb +51 -0
  104. data/lib/elastic/workplace-search/api/put_external_identity.rb +54 -0
  105. data/lib/elastic/workplace-search/api/put_user_permissions.rb +54 -0
  106. data/lib/elastic/workplace-search/api/remove_user_permissions.rb +54 -0
  107. data/lib/elastic/workplace-search/api/search.rb +60 -0
  108. data/lib/elastic/workplace-search/api/user_permissions.rb +53 -0
  109. data/lib/elastic/workplace-search/workplace_search.rb +84 -0
  110. data/spec/app-search/api_count_analytics_spec.rb +34 -0
  111. data/spec/app-search/api_curations_spec.rb +97 -0
  112. data/spec/app-search/api_documents_spec.rb +102 -0
  113. data/spec/app-search/api_engines_spec.rb +67 -0
  114. data/spec/app-search/api_log_clickthrough_spec.rb +34 -0
  115. data/spec/app-search/api_logs_spec.rb +36 -0
  116. data/spec/app-search/api_meta_engines_spec.rb +72 -0
  117. data/spec/app-search/api_query_suggestion_spec.rb +39 -0
  118. data/spec/app-search/api_schema_spec.rb +48 -0
  119. data/spec/app-search/api_search_and_multi_search_spec.rb +48 -0
  120. data/spec/app-search/api_search_settings_spec.rb +76 -0
  121. data/spec/app-search/api_spec_helper.rb +14 -0
  122. data/spec/app-search/api_synonyms_spec.rb +79 -0
  123. data/spec/app-search/api_top_clicks_analytics_spec.rb +44 -0
  124. data/spec/app-search/api_top_queries_analytics_spec.rb +34 -0
  125. data/spec/app-search/client_spec.rb +88 -0
  126. data/spec/app-search/date_spec.rb +69 -0
  127. data/spec/enterprise-search/client_spec.rb +107 -0
  128. data/spec/enterprise-search/request_spec.rb +136 -0
  129. data/spec/enterprise-search/utils_spec.rb +46 -0
  130. data/spec/fixtures/vcr/app_search/add_meta_engine_source.yml +109 -0
  131. data/spec/fixtures/vcr/app_search/api_documents.yml +56 -0
  132. data/spec/fixtures/vcr/app_search/api_index_documents.yml +57 -0
  133. data/spec/fixtures/vcr/app_search/api_log_clickthrough.yml +54 -0
  134. data/spec/fixtures/vcr/app_search/api_logs.yml +70 -0
  135. data/spec/fixtures/vcr/app_search/api_put_schema.yml +109 -0
  136. data/spec/fixtures/vcr/app_search/api_put_search_settings.yml +56 -0
  137. data/spec/fixtures/vcr/app_search/api_query_suggestion.yml +59 -0
  138. data/spec/fixtures/vcr/app_search/api_reset_search_settings.yml +56 -0
  139. data/spec/fixtures/vcr/app_search/api_schema.yml +56 -0
  140. data/spec/fixtures/vcr/app_search/api_search_settings.yml +56 -0
  141. data/spec/fixtures/vcr/app_search/api_top_clicks_analytics.yml +55 -0
  142. data/spec/fixtures/vcr/app_search/api_top_clicks_analytics_query.yml +55 -0
  143. data/spec/fixtures/vcr/app_search/api_top_queries_analytics.yml +55 -0
  144. data/spec/fixtures/vcr/app_search/count_analytics.yml +55 -0
  145. data/spec/fixtures/vcr/app_search/create_and_update_document.yml +107 -0
  146. data/spec/fixtures/vcr/app_search/create_curation.yml +113 -0
  147. data/spec/fixtures/vcr/app_search/create_engine.yml +55 -0
  148. data/spec/fixtures/vcr/app_search/create_meta_engine.yml +56 -0
  149. data/spec/fixtures/vcr/app_search/create_synonym_set.yml +56 -0
  150. data/spec/fixtures/vcr/app_search/delete_curation.yml +56 -0
  151. data/spec/fixtures/vcr/app_search/delete_engine.yml +55 -0
  152. data/spec/fixtures/vcr/app_search/delete_meta_engine_source.yml +56 -0
  153. data/spec/fixtures/vcr/app_search/delete_synonym_set.yml +56 -0
  154. data/spec/fixtures/vcr/app_search/get_curation.yml +56 -0
  155. data/spec/fixtures/vcr/app_search/get_engine.yml +55 -0
  156. data/spec/fixtures/vcr/app_search/index_and_delete_document.yml +107 -0
  157. data/spec/fixtures/vcr/app_search/list_curations.yml +56 -0
  158. data/spec/fixtures/vcr/app_search/list_documents.yml +57 -0
  159. data/spec/fixtures/vcr/app_search/list_engines.yml +55 -0
  160. data/spec/fixtures/vcr/app_search/list_synonym_sets.yml +56 -0
  161. data/spec/fixtures/vcr/app_search/multi_query_search.yml +63 -0
  162. data/spec/fixtures/vcr/app_search/put_curation.yml +113 -0
  163. data/spec/fixtures/vcr/app_search/put_synonym_set.yml +56 -0
  164. data/spec/fixtures/vcr/app_search/search.yml +57 -0
  165. data/spec/fixtures/vcr/app_search/single_query_search.yml +60 -0
  166. data/spec/fixtures/vcr/app_search/synonym_set.yml +56 -0
  167. data/spec/fixtures/vcr/workplace_search/add_user_permissions.yml +53 -0
  168. data/spec/fixtures/vcr/workplace_search/clear_user_permissions.yml +53 -0
  169. data/spec/fixtures/vcr/workplace_search/create_analytics_event.yml +55 -0
  170. data/spec/fixtures/vcr/workplace_search/create_external_identity.yml +53 -0
  171. data/spec/fixtures/vcr/workplace_search/delete_documents.yml +53 -0
  172. data/spec/fixtures/vcr/workplace_search/delete_external_identity.yml +53 -0
  173. data/spec/fixtures/vcr/workplace_search/index_documents.yml +55 -0
  174. data/spec/fixtures/vcr/workplace_search/list_external_identities.yml +53 -0
  175. data/spec/fixtures/vcr/workplace_search/list_permissions.yml +53 -0
  176. data/spec/fixtures/vcr/workplace_search/oauth_request_token.yml +57 -0
  177. data/spec/fixtures/vcr/workplace_search/put_external_identity.yml +53 -0
  178. data/spec/fixtures/vcr/workplace_search/put_user_permissions.yml +103 -0
  179. data/spec/fixtures/vcr/workplace_search/remove_user_permissions.yml +53 -0
  180. data/spec/fixtures/vcr/workplace_search/retrieve_external_identity.yml +53 -0
  181. data/spec/fixtures/vcr/workplace_search/search_request.yml +60 -0
  182. data/spec/fixtures/vcr/workplace_search/user_permissions_empty.yml +53 -0
  183. data/spec/integration/enterprise_search_api_spec.rb +96 -0
  184. data/spec/spec_helper.rb +27 -14
  185. data/spec/webmock_requires.rb +4 -0
  186. data/spec/workplace-search/client_spec.rb +77 -0
  187. data/spec/workplace-search/create_analytics_event_spec.rb +59 -0
  188. data/spec/workplace-search/documents_spec.rb +80 -0
  189. data/spec/workplace-search/external_identities_spec.rb +84 -0
  190. data/spec/workplace-search/permissions_spec.rb +136 -0
  191. data/spec/workplace-search/search_spec.rb +53 -0
  192. metadata +279 -47
  193. data/.circleci/config.yml +0 -68
  194. data/.travis.yml +0 -15
  195. data/NOTICE.txt +0 -3
  196. data/lib/elastic/enterprise-search.rb +0 -7
  197. data/lib/elastic/enterprise-search/client/content_source_documents.rb +0 -46
  198. data/lib/elastic/enterprise-search/client/permissions.rb +0 -30
  199. data/logo-enterprise-search.png +0 -0
  200. data/spec/client/content_source_documents_spec.rb +0 -55
  201. data/spec/client/permissions_spec.rb +0 -75
  202. data/spec/configuration_spec.rb +0 -19
  203. data/spec/fixtures/vcr/add_user_permissions.yml +0 -55
  204. data/spec/fixtures/vcr/async_create_or_update_document_success.yml +0 -51
  205. data/spec/fixtures/vcr/destroy_documents_success.yml +0 -51
  206. data/spec/fixtures/vcr/get_user_permissions.yml +0 -55
  207. data/spec/fixtures/vcr/list_all_permissions.yml +0 -55
  208. data/spec/fixtures/vcr/list_all_permissions_with_paging.yml +0 -55
  209. data/spec/fixtures/vcr/remove_user_permissions.yml +0 -55
  210. data/spec/fixtures/vcr/update_user_permissions.yml +0 -55
@@ -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
+ # Engine - Delete a source engine from a meta engine
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Array] :source_engines List of engine names (*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/meta-engines.html#meta-engines-remove-source-engines
32
+ #
33
+ def delete_meta_engine_source(engine_name, arguments = {})
34
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
35
+ raise ArgumentError, "Required parameter 'source_engines' missing" unless arguments[:source_engines]
36
+
37
+ source_engines = arguments.delete(:source_engines) || {}
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ request(
41
+ :delete,
42
+ "api/as/v1/engines/#{engine_name}/source_engines/",
43
+ arguments,
44
+ source_engines,
45
+ headers
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
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 - Delete 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 [Hash] :body The request body
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-delete
33
+ #
34
+ def delete_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
+
38
+ synonym_set_id = arguments[:synonym_set_id]
39
+ body = arguments.delete(:body) || {}
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ request(
43
+ :delete,
44
+ "api/as/v1/engines/#{engine_name}/synonyms/#{synonym_set_id}/",
45
+ arguments,
46
+ body,
47
+ headers
48
+ )
49
+ end
50
+ end
51
+ end
52
+ end
53
+ 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 - Retrieves one or more documents by ID
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Array] :document_ids List of document IDs (*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-get
32
+ #
33
+ def documents(engine_name, arguments = {})
34
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
35
+ raise ArgumentError, "Required parameter 'document_ids' missing" unless arguments[:document_ids]
36
+
37
+ document_ids = arguments.delete(:document_ids) || {}
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ request(
41
+ :get,
42
+ "api/as/v1/engines/#{engine_name}/documents/",
43
+ arguments,
44
+ document_ids,
45
+ headers
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ 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
+ # Engine - Retrieves an engine by name
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/engines.html#engines-get
32
+ #
33
+ def engine(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
+ :get,
41
+ "api/as/v1/engines/#{engine_name}/",
42
+ arguments,
43
+ body,
44
+ headers
45
+ )
46
+ end
47
+ end
48
+ end
49
+ end
50
+ 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 - Create or update documents
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Array] :documents List of document to index (*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-create
32
+ #
33
+ def index_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
+ :post,
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,52 @@
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 - Retrieve available curations for the engine
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
+ # @option arguments [Integer] :page_size The number of results per page
30
+ # @option arguments [Hash] :body The request body
31
+ # @option arguments [Hash] :headers optional HTTP headers to send with the request
32
+ #
33
+ # @see https://www.elastic.co/guide/en/app-search/current/curations.html#curations-read
34
+ #
35
+ def list_curations(engine_name, arguments = {})
36
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
37
+
38
+ body = arguments.delete(:body) || {}
39
+ headers = arguments.delete(:headers) || {}
40
+
41
+ request(
42
+ :get,
43
+ "api/as/v1/engines/#{engine_name}/curations/",
44
+ arguments,
45
+ body,
46
+ headers
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,52 @@
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 - List all available documents with optional pagination support
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
+ # @option arguments [Integer] :page_size The number of results per page
30
+ # @option arguments [Hash] :body The request body
31
+ # @option arguments [Hash] :headers optional HTTP headers to send with the request
32
+ #
33
+ # @see https://www.elastic.co/guide/en/app-search/current/documents.html#documents-list
34
+ #
35
+ def list_documents(engine_name, arguments = {})
36
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
37
+
38
+ body = arguments.delete(:body) || {}
39
+ headers = arguments.delete(:headers) || {}
40
+
41
+ request(
42
+ :get,
43
+ "api/as/v1/engines/#{engine_name}/documents/list/",
44
+ arguments,
45
+ body,
46
+ headers
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,49 @@
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
+ # Engine - Retrieves all engines with optional pagination support
25
+ #
26
+ # @param arguments [Hash] endpoint arguments
27
+ # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
28
+ # @option arguments [Integer] :page_size The number of results per page
29
+ # @option arguments [Hash] :body The request body
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/engines.html#engines-list
33
+ #
34
+ def list_engines(arguments = {})
35
+ body = arguments.delete(:body) || {}
36
+ headers = arguments.delete(:headers) || {}
37
+
38
+ request(
39
+ :get,
40
+ 'api/as/v1/engines/',
41
+ arguments,
42
+ body,
43
+ headers
44
+ )
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,52 @@
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 - Retrieve available synonym sets for the engine
25
+ #
26
+ # @param engine_name [String] (*Required*)
27
+ # @param arguments [Hash] endpoint arguments
28
+ # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
+ # @option arguments [Integer] :page_size The number of results per page
30
+ # @option arguments [Hash] :body The request body
31
+ # @option arguments [Hash] :headers optional HTTP headers to send with the request
32
+ #
33
+ # @see https://www.elastic.co/guide/en/app-search/current/synonyms.html#synonyms-get
34
+ #
35
+ def list_synonym_sets(engine_name, arguments = {})
36
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
37
+
38
+ body = arguments.delete(:body) || {}
39
+ headers = arguments.delete(:headers) || {}
40
+
41
+ request(
42
+ :get,
43
+ "api/as/v1/engines/#{engine_name}/synonyms/",
44
+ arguments,
45
+ body,
46
+ headers
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end