elastic-enterprise-search 7.14.0 → 7.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/functions/imports.sh +1 -0
  3. data/.ci/jobs/defaults.yml +4 -0
  4. data/.ci/jobs/{elastic+enterprise-search-ruby+master.yml → elastic+enterprise-search-ruby+main.yml} +4 -4
  5. data/.ci/run-repository.sh +2 -1
  6. data/.ci/test-matrix.yml +5 -3
  7. data/.github/workflows/testing.yml +1 -1
  8. data/CONTRIBUTING.md +1 -1
  9. data/README.md +1 -1
  10. data/Rakefile +19 -0
  11. data/docs/guide/app-search-api.asciidoc +129 -1
  12. data/docs/guide/overview.asciidoc +3 -3
  13. data/docs/guide/release_notes/715.asciidoc +36 -0
  14. data/docs/guide/release_notes/index.asciidoc +2 -0
  15. data/docs/guide/workplace-search-api.asciidoc +14 -0
  16. data/lib/elastic/app-search/api/add_meta_engine_source.rb +3 -2
  17. data/lib/elastic/app-search/api/api_key.rb +2 -1
  18. data/lib/elastic/app-search/api/api_logs.rb +14 -13
  19. data/lib/elastic/app-search/api/count_analytics.rb +7 -6
  20. data/lib/elastic/app-search/api/crawler_active_crawl_request.rb +51 -0
  21. data/lib/elastic/app-search/api/crawler_crawl_request.rb +54 -0
  22. data/lib/elastic/app-search/api/crawler_crawl_schedule.rb +51 -0
  23. data/lib/elastic/app-search/api/crawler_domain.rb +54 -0
  24. data/lib/elastic/app-search/api/crawler_domain_validation_result.rb +48 -0
  25. data/lib/elastic/app-search/api/crawler_metrics.rb +48 -0
  26. data/lib/elastic/app-search/api/crawler_overview.rb +51 -0
  27. data/lib/elastic/app-search/api/crawler_process_crawl.rb +54 -0
  28. data/lib/elastic/app-search/api/crawler_process_crawl_denied_urls.rb +54 -0
  29. data/lib/elastic/app-search/api/crawler_url_extraction_result.rb +52 -0
  30. data/lib/elastic/app-search/api/crawler_url_tracing_result.rb +52 -0
  31. data/lib/elastic/app-search/api/crawler_url_validation_result.rb +52 -0
  32. data/lib/elastic/app-search/api/crawler_user_agent.rb +48 -0
  33. data/lib/elastic/app-search/api/create_api_key.rb +9 -1
  34. data/lib/elastic/app-search/api/create_crawler_crawl_request.rb +51 -0
  35. data/lib/elastic/app-search/api/create_crawler_crawl_rule.rb +59 -0
  36. data/lib/elastic/app-search/api/create_crawler_domain.rb +55 -0
  37. data/lib/elastic/app-search/api/create_crawler_entry_point.rb +56 -0
  38. data/lib/elastic/app-search/api/create_crawler_process_crawl.rb +53 -0
  39. data/lib/elastic/app-search/api/create_crawler_sitemap.rb +56 -0
  40. data/lib/elastic/app-search/api/create_curation.rb +7 -6
  41. data/lib/elastic/app-search/api/create_engine.rb +9 -7
  42. data/lib/elastic/app-search/api/create_synonym_set.rb +7 -4
  43. data/lib/elastic/app-search/api/curation.rb +4 -3
  44. data/lib/elastic/app-search/api/delete_active_crawl_request.rb +51 -0
  45. data/lib/elastic/app-search/api/delete_api_key.rb +1 -0
  46. data/lib/elastic/app-search/api/delete_crawler_active_crawl_request.rb +51 -0
  47. data/lib/elastic/app-search/api/delete_crawler_crawl_rule.rb +57 -0
  48. data/lib/elastic/app-search/api/delete_crawler_crawl_schedule.rb +51 -0
  49. data/lib/elastic/app-search/api/delete_crawler_domain.rb +54 -0
  50. data/lib/elastic/app-search/api/delete_crawler_entry_point.rb +57 -0
  51. data/lib/elastic/app-search/api/delete_crawler_sitemap.rb +57 -0
  52. data/lib/elastic/app-search/api/delete_curation.rb +4 -3
  53. data/lib/elastic/app-search/api/delete_documents.rb +2 -1
  54. data/lib/elastic/app-search/api/delete_engine.rb +3 -2
  55. data/lib/elastic/app-search/api/delete_meta_engine_source.rb +3 -3
  56. data/lib/elastic/app-search/api/delete_synonym_set.rb +4 -3
  57. data/lib/elastic/app-search/api/denied_urls.rb +54 -0
  58. data/lib/elastic/app-search/api/documents.rb +3 -2
  59. data/lib/elastic/app-search/api/engine.rb +3 -2
  60. data/lib/elastic/app-search/api/index_documents.rb +3 -2
  61. data/lib/elastic/app-search/api/list_api_keys.rb +2 -1
  62. data/lib/elastic/app-search/api/list_crawler_crawl_requests.rb +52 -0
  63. data/lib/elastic/app-search/api/list_crawler_process_crawls.rb +51 -0
  64. data/lib/elastic/app-search/api/list_curations.rb +3 -2
  65. data/lib/elastic/app-search/api/list_documents.rb +3 -2
  66. data/lib/elastic/app-search/api/list_engines.rb +2 -1
  67. data/lib/elastic/app-search/api/list_synonym_sets.rb +3 -2
  68. data/lib/elastic/app-search/api/log_clickthrough.rb +8 -10
  69. data/lib/elastic/app-search/api/put_api_key.rb +9 -2
  70. data/lib/elastic/app-search/api/put_crawler_crawl_rule.rb +62 -0
  71. data/lib/elastic/app-search/api/put_crawler_crawl_schedule.rb +53 -0
  72. data/lib/elastic/app-search/api/put_crawler_domain.rb +58 -0
  73. data/lib/elastic/app-search/api/put_crawler_entry_point.rb +59 -0
  74. data/lib/elastic/app-search/api/put_crawler_sitemap.rb +59 -0
  75. data/lib/elastic/app-search/api/put_curation.rb +9 -8
  76. data/lib/elastic/app-search/api/put_documents.rb +3 -3
  77. data/lib/elastic/app-search/api/put_schema.rb +4 -4
  78. data/lib/elastic/app-search/api/put_search_settings.rb +6 -2
  79. data/lib/elastic/app-search/api/put_synonym_set.rb +8 -5
  80. data/lib/elastic/app-search/api/query_suggestion.rb +7 -7
  81. data/lib/elastic/app-search/api/reset_search_settings.rb +3 -2
  82. data/lib/elastic/app-search/api/schema.rb +3 -2
  83. data/lib/elastic/app-search/api/search.rb +14 -3
  84. data/lib/elastic/app-search/api/search_settings.rb +3 -2
  85. data/lib/elastic/app-search/api/synonym_set.rb +4 -3
  86. data/lib/elastic/app-search/api/top_clicks_analytics.rb +8 -8
  87. data/lib/elastic/app-search/api/top_queries_analytics.rb +7 -7
  88. data/lib/elastic/app-search/app_search.rb +0 -10
  89. data/lib/elastic/enterprise-search/api/health.rb +1 -0
  90. data/lib/elastic/enterprise-search/api/put_read_only.rb +3 -2
  91. data/lib/elastic/enterprise-search/api/read_only.rb +1 -0
  92. data/lib/elastic/enterprise-search/api/version.rb +1 -0
  93. data/lib/elastic/enterprise-search/request.rb +10 -1
  94. data/lib/elastic/enterprise-search/version.rb +1 -1
  95. data/lib/elastic/workplace-search/api/auto_query_refinement_details.rb +49 -0
  96. data/lib/elastic/workplace-search/api/create_content_source.rb +1 -0
  97. data/lib/elastic/workplace-search/api/delete_synonym_set.rb +1 -1
  98. data/lib/elastic/workplace-search/api/put_content_source.rb +1 -0
  99. data/lib/elastic/workplace-search/api/put_synonym_set.rb +1 -1
  100. data/lib/elastic/workplace-search/api/put_triggers_blocklist.rb +47 -0
  101. data/lib/elastic/workplace-search/api/search.rb +3 -0
  102. data/lib/elastic/workplace-search/api/synonym_set.rb +1 -1
  103. data/{spec/app-search/api_logs_spec.rb → lib/elastic/workplace-search/api/triggers_blocklist.rb} +23 -14
  104. data/lib/elastic/workplace-search/workplace_search.rb +0 -15
  105. data/spec/integration/app-search/api_key_spec.rb +110 -0
  106. data/spec/integration/app-search/api_logs_spec.rb +59 -0
  107. data/spec/{app-search/api_spec_helper.rb → integration/app-search/app_search_helper.rb} +17 -8
  108. data/spec/integration/app-search/count_analytics_spec.rb +47 -0
  109. data/spec/integration/app-search/crawl_requests_spec.rb +86 -0
  110. data/spec/integration/app-search/crawler_crawl_rule_spec.rb +73 -0
  111. data/spec/integration/app-search/crawler_domain_spec.rb +82 -0
  112. data/spec/integration/app-search/crawler_entry_point_spec.rb +89 -0
  113. data/spec/integration/app-search/crawler_metrics_spec.rb +46 -0
  114. data/spec/integration/app-search/crawler_overview_spec.rb +45 -0
  115. data/spec/integration/app-search/crawler_process_crawl_denied_urls_spec.rb +50 -0
  116. data/spec/integration/app-search/crawler_process_crawl_spec.rb +66 -0
  117. data/spec/integration/app-search/crawler_scheduling_spec.rb +81 -0
  118. data/spec/integration/app-search/crawler_sitemap_spec.rb +72 -0
  119. data/spec/integration/app-search/crawler_urls_spec.rb +60 -0
  120. data/spec/{app-search/api_count_analytics_spec.rb → integration/app-search/crawler_user_agent_spec.rb} +6 -9
  121. data/spec/integration/app-search/curations_spec.rb +118 -0
  122. data/spec/integration/app-search/documents_spec.rb +123 -0
  123. data/spec/integration/app-search/engines_spec.rb +77 -0
  124. data/spec/{app-search/api_log_clickthrough_spec.rb → integration/app-search/log_clickthrough_spec.rb} +14 -7
  125. data/spec/integration/app-search/meta_engines_spec.rb +75 -0
  126. data/spec/integration/app-search/query_suggestion_spec.rb +50 -0
  127. data/spec/{app-search/api_schema_spec.rb → integration/app-search/schema_spec.rb} +21 -16
  128. data/spec/integration/app-search/search_and_multiple_search_spec.rb +67 -0
  129. data/spec/integration/app-search/search_settings_spec.rb +87 -0
  130. data/spec/integration/app-search/synonyms_spec.rb +79 -0
  131. data/spec/{app-search/api_top_clicks_analytics_spec.rb → integration/app-search/top_clicks_analytics_spec.rb} +20 -14
  132. data/spec/{app-search/api_top_queries_analytics_spec.rb → integration/app-search/top_queries_analytics_spec.rb} +16 -8
  133. data/spec/integration/workplace-search/content_sources_spec.rb +106 -0
  134. data/spec/integration/workplace-search/documents_spec.rb +95 -0
  135. data/spec/integration/workplace-search/external_identities_spec.rb +97 -0
  136. data/spec/integration/{icon.png → workplace-search/icon.png} +0 -0
  137. data/spec/integration/workplace-search/permissions_spec.rb +77 -0
  138. data/spec/integration/workplace-search/synonym_sets_spec.rb +92 -0
  139. data/spec/integration/workplace-search/triggers_spec.rb +43 -0
  140. data/spec/{app-search/api_query_suggestion_spec.rb → integration/workplace-search/users_spec.rb} +12 -15
  141. data/spec/integration/workplace-search/workplace_search_helper.rb +39 -0
  142. metadata +79 -64
  143. data/spec/app-search/api_apikey_spec.rb +0 -92
  144. data/spec/app-search/api_curations_spec.rb +0 -97
  145. data/spec/app-search/api_documents_spec.rb +0 -102
  146. data/spec/app-search/api_engines_spec.rb +0 -67
  147. data/spec/app-search/api_meta_engines_spec.rb +0 -72
  148. data/spec/app-search/api_search_and_multi_search_spec.rb +0 -48
  149. data/spec/app-search/api_search_settings_spec.rb +0 -76
  150. data/spec/app-search/api_synonyms_spec.rb +0 -79
  151. data/spec/fixtures/vcr/app_search/add_meta_engine_source.yml +0 -109
  152. data/spec/fixtures/vcr/app_search/api_documents.yml +0 -56
  153. data/spec/fixtures/vcr/app_search/api_index_documents.yml +0 -57
  154. data/spec/fixtures/vcr/app_search/api_log_clickthrough.yml +0 -54
  155. data/spec/fixtures/vcr/app_search/api_logs.yml +0 -70
  156. data/spec/fixtures/vcr/app_search/api_put_schema.yml +0 -109
  157. data/spec/fixtures/vcr/app_search/api_put_search_settings.yml +0 -56
  158. data/spec/fixtures/vcr/app_search/api_query_suggestion.yml +0 -59
  159. data/spec/fixtures/vcr/app_search/api_reset_search_settings.yml +0 -56
  160. data/spec/fixtures/vcr/app_search/api_schema.yml +0 -56
  161. data/spec/fixtures/vcr/app_search/api_search_settings.yml +0 -56
  162. data/spec/fixtures/vcr/app_search/api_top_clicks_analytics.yml +0 -55
  163. data/spec/fixtures/vcr/app_search/api_top_clicks_analytics_query.yml +0 -55
  164. data/spec/fixtures/vcr/app_search/api_top_queries_analytics.yml +0 -55
  165. data/spec/fixtures/vcr/app_search/count_analytics.yml +0 -55
  166. data/spec/fixtures/vcr/app_search/create_and_update_document.yml +0 -107
  167. data/spec/fixtures/vcr/app_search/create_api_key.yml +0 -52
  168. data/spec/fixtures/vcr/app_search/create_curation.yml +0 -113
  169. data/spec/fixtures/vcr/app_search/create_engine.yml +0 -55
  170. data/spec/fixtures/vcr/app_search/create_meta_engine.yml +0 -56
  171. data/spec/fixtures/vcr/app_search/create_synonym_set.yml +0 -56
  172. data/spec/fixtures/vcr/app_search/delete_api_key.yml +0 -52
  173. data/spec/fixtures/vcr/app_search/delete_curation.yml +0 -56
  174. data/spec/fixtures/vcr/app_search/delete_engine.yml +0 -55
  175. data/spec/fixtures/vcr/app_search/delete_meta_engine_source.yml +0 -56
  176. data/spec/fixtures/vcr/app_search/delete_synonym_set.yml +0 -56
  177. data/spec/fixtures/vcr/app_search/get_api_key.yml +0 -52
  178. data/spec/fixtures/vcr/app_search/get_curation.yml +0 -56
  179. data/spec/fixtures/vcr/app_search/get_engine.yml +0 -55
  180. data/spec/fixtures/vcr/app_search/index_and_delete_document.yml +0 -107
  181. data/spec/fixtures/vcr/app_search/list_api_keys.yml +0 -52
  182. data/spec/fixtures/vcr/app_search/list_curations.yml +0 -56
  183. data/spec/fixtures/vcr/app_search/list_documents.yml +0 -57
  184. data/spec/fixtures/vcr/app_search/list_engines.yml +0 -55
  185. data/spec/fixtures/vcr/app_search/list_synonym_sets.yml +0 -56
  186. data/spec/fixtures/vcr/app_search/multi_query_search.yml +0 -63
  187. data/spec/fixtures/vcr/app_search/put_api_key.yml +0 -52
  188. data/spec/fixtures/vcr/app_search/put_curation.yml +0 -113
  189. data/spec/fixtures/vcr/app_search/put_synonym_set.yml +0 -56
  190. data/spec/fixtures/vcr/app_search/search.yml +0 -57
  191. data/spec/fixtures/vcr/app_search/single_query_search.yml +0 -60
  192. data/spec/fixtures/vcr/app_search/synonym_set.yml +0 -56
  193. data/spec/integration/workplace_search_spec.rb +0 -375
@@ -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
+ # Crawler - Delete an entry point
25
+ # Deletes a crawler entry point
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [String] :domain_id Crawler Domain ID (*Required*)
30
+ # @option arguments [String] :entry_point_id Crawler Entry Point identifier (*Required*)
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/web-crawler-api-reference.html#web-crawler-apis-delete-crawler-domain
35
+ #
36
+ def delete_crawler_entry_point(engine_name, arguments = {})
37
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
38
+ raise ArgumentError, "Required parameter 'domain_id' missing" unless arguments[:domain_id]
39
+ raise ArgumentError, "Required parameter 'entry_point_id' missing" unless arguments[:entry_point_id]
40
+
41
+ domain_id = arguments[:domain_id]
42
+ entry_point_id = arguments[:entry_point_id]
43
+ body = arguments.delete(:body) || {}
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ request(
47
+ :delete,
48
+ "api/as/v0/engines/#{engine_name}/crawler/domains/#{domain_id}/entry_points/#{entry_point_id}/",
49
+ arguments,
50
+ body,
51
+ headers
52
+ )
53
+ end
54
+ end
55
+ end
56
+ end
57
+ 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
+ # Crawler - Delete a sitemap
25
+ # Deletes a sitemap from a given domain
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [String] :domain_id Crawler Domain ID (*Required*)
30
+ # @option arguments [String] :sitemap_id Sitemap ID (*Required*)
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/web-crawler-api-reference.html#web-crawler-apis-delete-sitemap
35
+ #
36
+ def delete_crawler_sitemap(engine_name, arguments = {})
37
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
38
+ raise ArgumentError, "Required parameter 'domain_id' missing" unless arguments[:domain_id]
39
+ raise ArgumentError, "Required parameter 'sitemap_id' missing" unless arguments[:sitemap_id]
40
+
41
+ domain_id = arguments[:domain_id]
42
+ sitemap_id = arguments[:sitemap_id]
43
+ body = arguments.delete(:body) || {}
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ request(
47
+ :delete,
48
+ "api/as/v0/engines/#{engine_name}/crawler/domains/#{domain_id}/sitemaps/#{sitemap_id}/",
49
+ arguments,
50
+ body,
51
+ headers
52
+ )
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -21,11 +21,12 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Curations - Delete a curation by ID
24
+ # Curations - Delete a curation
25
+ # Deletes a curation set by ID
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
- # @option arguments [String] :curation_id (*Required*)
29
+ # @option arguments [String] :curation_id Curation ID (*Required*)
29
30
  # @option arguments [Hash] :body The request body
30
31
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
31
32
  #
@@ -22,8 +22,9 @@ module Elastic
22
22
  module AppSearch
23
23
  module Actions
24
24
  # Documents - Delete documents by ID
25
+ # Deletes documents for given Document IDs
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Array] :document_ids List of document IDs (*Required*)
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Engine - Delete an engine by name
24
+ # Engines - Delete an Engine
25
+ # Delete an engine by name
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Hash] :body The request body
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Engine - Delete a source engine from a meta engine
24
+ # Engines - Delete a source engine
25
+ # Deletes a source engine from a given meta engine
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Array] :source_engines List of engine names (*Required*)
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -32,7 +33,6 @@ module Elastic
32
33
  #
33
34
  def delete_meta_engine_source(engine_name, arguments = {})
34
35
  raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
35
- raise ArgumentError, "Required parameter 'source_engines' missing" unless arguments[:source_engines]
36
36
 
37
37
  source_engines = arguments.delete(:source_engines) || {}
38
38
  headers = arguments.delete(:headers) || {}
@@ -21,11 +21,12 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Synonyms - Delete a synonym set by ID
24
+ # Synonyms - Delete a synonym set
25
+ # Deletes a synonym set by ID
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
- # @option arguments [String] :synonym_set_id (*Required*)
29
+ # @option arguments [String] :synonym_set_id Synonym Set ID (*Required*)
29
30
  # @option arguments [Hash] :body The request body
30
31
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
31
32
  #
@@ -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
+ # Crawler - View denied urls for Process Crawl
25
+ # Provides a sample list of urls identified for deletion by the given process crawl id.
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [String] :process_crawl_id Process Crawl identifier (*Required*)
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/web-crawler-api-reference.html
34
+ #
35
+ def denied_urls(engine_name, arguments = {})
36
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
37
+ raise ArgumentError, "Required parameter 'process_crawl_id' missing" unless arguments[:process_crawl_id]
38
+
39
+ process_crawl_id = arguments[:process_crawl_id]
40
+ body = arguments.delete(:body) || {}
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ request(
44
+ :get,
45
+ "api/as/v0/engines/#{engine_name}/crawler/process_crawls/#{process_crawl_id}/denied_urls/",
46
+ arguments,
47
+ body,
48
+ headers
49
+ )
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Documents - Retrieves one or more documents by ID
24
+ # Documents - Retrieve one or more documents
25
+ # Retrieves one or more documents by id
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Array] :document_ids List of document IDs (*Required*)
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Engine - Retrieves an engine by name
24
+ # Engines - Retrieve an engine
25
+ # Retrieves details of a given engine by its name
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Hash] :body The request body
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Documents - Create or update documents
24
+ # Documents - Create a new document
25
+ # Create or update documents
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Array] :documents List of document to index (*Required*)
29
30
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
@@ -21,7 +21,8 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Credentials - List the details of all API keys
24
+ # Credentials - Retrieve all API keys
25
+ # List the details of all API keys
25
26
  #
26
27
  # @param arguments [Hash] endpoint arguments
27
28
  # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
@@ -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
+ # Crawler - List crawl requests
25
+ # Returns a list of latest crawl requests for a given engine.
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [Integer] :limit The number of results
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/web-crawler-api-reference.html#web-crawler-apis-get-crawler-crawl-requests
34
+ #
35
+ def list_crawler_crawl_requests(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/v0/engines/#{engine_name}/crawler/crawl_requests/",
44
+ arguments,
45
+ body,
46
+ headers
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
52
+ 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
+ # Crawler - List process crawls
25
+ # Returns a list of latest process crawls for a given engine
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
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/web-crawler-api-reference.html#web-crawler-apis-get-crawler-process-crawls
33
+ #
34
+ def list_crawler_process_crawls(engine_name, arguments = {})
35
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
36
+
37
+ body = arguments.delete(:body) || {}
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ request(
41
+ :get,
42
+ "api/as/v0/engines/#{engine_name}/crawler/process_crawls/",
43
+ arguments,
44
+ body,
45
+ headers
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Curations - Retrieve available curations for the engine
24
+ # Curations - Retrieve all curations
25
+ # Retrieve available curations for the given engine
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
30
  # @option arguments [Integer] :page_size The number of results per page
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Documents - List all available documents with optional pagination support
24
+ # Documents - Retrieve all documents
25
+ # Lists up to 10,000 documents
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
30
  # @option arguments [Integer] :page_size The number of results per page
@@ -21,7 +21,8 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Engine - Retrieves all engines with optional pagination support
24
+ # Engines - Retrieve all engines
25
+ # Retrieves all engines with optional pagination support
25
26
  #
26
27
  # @param arguments [Hash] endpoint arguments
27
28
  # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
@@ -21,9 +21,10 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Synonyms - Retrieve available synonym sets for the engine
24
+ # Synonyms - Retrieve all synonym sets
25
+ # Retrieves all available synonym sets for the engine
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @param arguments [Hash] endpoint arguments
28
29
  # @option arguments [Integer] :current_page The page to fetch. Defaults to 1
29
30
  # @option arguments [Integer] :page_size The number of results per page
@@ -21,27 +21,25 @@ module Elastic
21
21
  module EnterpriseSearch
22
22
  module AppSearch
23
23
  module Actions
24
- # Click - Send data about clicked results
24
+ # Click - Tracks results that were clicked after a query
25
+ # Tracks results that were clicked after a query
25
26
  #
26
- # @param engine_name [String] (*Required*)
27
+ # @param engine_name [String] Name of the engine (*Required*)
27
28
  # @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
29
+ # @option arguments :body Search request parameters
30
+ # @option body [String] :query Search query text (*Required*)
31
+ # @option body [String] :document_id The id of the document that was clicked on (*Required*)
32
+ # @option body [String] :request_id The request id returned in the meta tag of a search API response
33
+ # @option body [Array] :tags Array of strings representing additional information you wish to track with the clickthrough. You may submit up to 16 tags, and each may be up to 64 characters in length.
33
34
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
34
35
  #
35
36
  # @see https://www.elastic.co/guide/en/app-search/current/clickthrough.html
36
37
  #
37
38
  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
39
  raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
41
40
 
42
41
  body = arguments.delete(:body) || {}
43
42
  headers = arguments.delete(:headers) || {}
44
- arguments['query'] = arguments.delete(:query_text)
45
43
 
46
44
  request(
47
45
  :post,
@@ -22,17 +22,24 @@ module Elastic
22
22
  module AppSearch
23
23
  module Actions
24
24
  # Credentials - Update an API key
25
+ # Updates an API key
25
26
  #
26
27
  # @param arguments [Hash] endpoint arguments
27
28
  # @option arguments [String] :api_key_name Name of an API key (*Required*)
28
- # @option arguments [Object] :body API key details (*Required*)
29
+ # @option arguments [Hash] :body Details of an API key (Required: name, type)
30
+ # @option body [String] :id
31
+ # @option body [String] :name (*Required)
32
+ # @option body [String] :type (*Required)
33
+ # @option body [Boolean] :access_all_engines
34
+ # @option body :engines
35
+ # @option body [Boolean] :write
36
+ # @option body [Boolean] :read
29
37
  # @option arguments [Hash] :headers optional HTTP headers to send with the request
30
38
  #
31
39
  # @see https://www.elastic.co/guide/en/app-search/current/credentials.html#credentials-update
32
40
  #
33
41
  def put_api_key(arguments = {})
34
42
  raise ArgumentError, "Required parameter 'api_key_name' missing" unless arguments[:api_key_name]
35
- raise ArgumentError, "Required parameter 'body' missing" unless arguments[:body]
36
43
 
37
44
  api_key_name = arguments[:api_key_name]
38
45
  body = arguments.delete(:body) || {}
@@ -0,0 +1,62 @@
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
+ # Crawler - Update a crawl rule
25
+ # Updates crawl rule configuration
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [String] :domain_id Crawler Domain ID (*Required*)
30
+ # @option arguments [String] :crawl_rule_id Crawl Rule ID (*Required*)
31
+ # @option arguments [Hash] :body (Required: order, policy, rule, pattern)
32
+ # @option body [String] :id
33
+ # @option body [Integer] :order (*Required)
34
+ # @option body [String] :policy (*Required)
35
+ # @option body [String] :rule (*Required)
36
+ # @option body [String] :pattern (*Required)
37
+ # @option arguments [Hash] :headers optional HTTP headers to send with the request
38
+ #
39
+ # @see https://www.elastic.co/guide/en/app-search/current/web-crawler-api-reference.html#web-crawler-apis-put-crawl-rule
40
+ #
41
+ def put_crawler_crawl_rule(engine_name, arguments = {})
42
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
43
+ raise ArgumentError, "Required parameter 'domain_id' missing" unless arguments[:domain_id]
44
+ raise ArgumentError, "Required parameter 'crawl_rule_id' missing" unless arguments[:crawl_rule_id]
45
+
46
+ domain_id = arguments[:domain_id]
47
+ crawl_rule_id = arguments[:crawl_rule_id]
48
+ body = arguments.delete(:body) || {}
49
+ headers = arguments.delete(:headers) || {}
50
+
51
+ request(
52
+ :put,
53
+ "api/as/v0/engines/#{engine_name}/crawler/domains/#{domain_id}/crawl_rules/#{crawl_rule_id}/",
54
+ arguments,
55
+ body,
56
+ headers
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ 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
+ # Crawler - Set crawl schedule
25
+ # Sets up a crawl schedule for a given engine
26
+ #
27
+ # @param engine_name [String] Name of the engine (*Required*)
28
+ # @param arguments [Hash] endpoint arguments
29
+ # @option arguments [Hash] :body (Required: frequency, unit)
30
+ # @option body [Integer] :frequency (*Required)
31
+ # @option body [String] :unit (*Required)
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/web-crawler-api-reference.html#web-crawler-apis-put-crawler-crawl-schedule
35
+ #
36
+ def put_crawler_crawl_schedule(engine_name, arguments = {})
37
+ raise ArgumentError, "Required parameter 'engine_name' missing" unless engine_name
38
+
39
+ body = arguments.delete(:body) || {}
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ request(
43
+ :put,
44
+ "api/as/v0/engines/#{engine_name}/crawler/crawl_schedule/",
45
+ arguments,
46
+ body,
47
+ headers
48
+ )
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end