← Index
NYTProf Performance Profile   « line view »
For /home/ss5/perl5/perlbrew/perls/perl-5.22.0/bin/benchmarkanything-storage
  Run on Mon Jan 29 16:55:34 2018
Reported on Mon Jan 29 16:57:07 2018

Filename/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Search/Elasticsearch/Client/5_0/Role/API.pm
StatementsExecuted 14 statements in 3.05ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1119µs507µsSearch::Elasticsearch::Client::5_0::Role::API::::BEGIN@3Search::Elasticsearch::Client::5_0::Role::API::BEGIN@3
1117µs104µsSearch::Elasticsearch::Client::5_0::Role::API::::BEGIN@7Search::Elasticsearch::Client::5_0::Role::API::BEGIN@7
1115µs82µsSearch::Elasticsearch::Client::5_0::Role::API::::BEGIN@6Search::Elasticsearch::Client::5_0::Role::API::BEGIN@6
2112µs2µsSearch::Elasticsearch::Client::5_0::Role::API::::apiSearch::Elasticsearch::Client::5_0::Role::API::api
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Search::Elasticsearch::Client::5_0::Role::API;
21400ns$Search::Elasticsearch::Client::5_0::Role::API::VERSION = '5.01';
3226µs21.00ms
# spent 507µs (9+498) within Search::Elasticsearch::Client::5_0::Role::API::BEGIN@3 which was called: # once (9µs+498µs) by Module::Runtime::require_module at line 3
use Moo::Role;
# spent 507µs making 1 call to Search::Elasticsearch::Client::5_0::Role::API::BEGIN@3 # spent 498µs making 1 call to Moo::Role::import
411µs16.35mswith 'Search::Elasticsearch::Role::API';
# spent 6.35ms making 1 call to Moo::Role::with
5
6220µs2158µs
# spent 82µs (5+76) within Search::Elasticsearch::Client::5_0::Role::API::BEGIN@6 which was called: # once (5µs+76µs) by Module::Runtime::require_module at line 6
use Search::Elasticsearch::Util qw(throw);
722.11ms2202µs
# spent 104µs (7+97) within Search::Elasticsearch::Client::5_0::Role::API::BEGIN@7 which was called: # once (7µs+97µs) by Module::Runtime::require_module at line 7
use namespace::clean;
# spent 104µs making 1 call to Search::Elasticsearch::Client::5_0::Role::API::BEGIN@7 # spent 97µs making 1 call to namespace::clean::import
8
911µs198µshas 'api_version' => ( is => 'ro', default => '5_0' );
# spent 98µs making 1 call to Moo::Role::has
10
11our %API;
12
13#===================================
14
# spent 2µs within Search::Elasticsearch::Client::5_0::Role::API::api which was called 2 times, avg 1µs/call: # 2 times (2µs+0s) by Search::Elasticsearch::Role::Client::Direct::_install_api at line 127 of Search/Elasticsearch/Role/Client/Direct.pm, avg 1µs/call
sub api {
15#===================================
1626µs my $name = $_[1] || return \%API;
17 return $API{$name}
18 || throw( 'Internal', "Unknown api name ($name)" );
19}
20
21#===================================
221504µs%API = (
23#===================================
24
25 'bulk.metadata' => {
26 params => [
27 'index', 'type', 'id', 'fields',
28 'routing', 'parent', 'timestamp', 'ttl',
29 'version', 'version_type'
30 ]
31 },
32 'bulk.update' => {
33 params => [
34 'doc', 'upsert',
35 'doc_as_upsert', 'fields',
36 'scripted_upsert', 'script',
37 'script_id', 'script_file',
38 'params', 'lang',
39 'detect_noop',
40 ]
41 },
42 'bulk.required' => { params => [ 'index', 'type' ] },
43
44#=== AUTOGEN - START ===
45
46 'bulk' => {
47 body => { required => 1 },
48 doc => "docs-bulk",
49 method => "POST",
50 parts => { index => {}, type => {} },
51 paths => [
52 [ { index => 0, type => 1 }, "{index}", "{type}", "_bulk" ],
53 [ { index => 0 }, "{index}", "_bulk" ],
54 [ {}, "_bulk" ],
55 ],
56 qs => {
57 _source => "list",
58 _source_exclude => "list",
59 _source_include => "list",
60 fields => "list",
61 filter_path => "list",
62 pipeline => "string",
63 refresh => "enum",
64 routing => "string",
65 timeout => "time",
66 wait_for_active_shards => "string",
67 },
68 serialize => "bulk",
69 },
70
71 'clear_scroll' => {
72 body => {},
73 doc => "search-request-scroll",
74 method => "DELETE",
75 parts => { scroll_id => { multi => 1 } },
76 paths => [
77 [ { scroll_id => 2 }, "_search", "scroll", "{scroll_id}" ],
78 [ {}, "_search", "scroll" ],
79 ],
80 qs => { filter_path => "list" },
81 },
82
83 'count' => {
84 body => {},
85 doc => "search-count",
86 method => "POST",
87 parts => { index => { multi => 1 }, type => { multi => 1 } },
88 paths => [
89 [ { index => 0, type => 1 }, "{index}", "{type}", "_count" ],
90 [ { index => 0 }, "{index}", "_count" ],
91 [ {}, "_count" ],
92 ],
93 qs => {
94 allow_no_indices => "boolean",
95 analyze_wildcard => "boolean",
96 analyzer => "string",
97 default_operator => "enum",
98 df => "string",
99 expand_wildcards => "enum",
100 filter_path => "list",
101 ignore_unavailable => "boolean",
102 lenient => "boolean",
103 lowercase_expanded_terms => "boolean",
104 min_score => "number",
105 preference => "string",
106 q => "string",
107 routing => "string",
108 },
109 },
110
111 'count_percolate' => {
112 body => {},
113 doc => "search-percolate",
114 parts => {
115 id => {},
116 index => { required => 1 },
117 type => { required => 1 }
118 },
119 paths => [
120 [ { id => 2, index => 0, type => 1 }, "{index}",
121 "{type}", "{id}",
122 "_percolate", "count",
123 ],
124 [ { index => 0, type => 1 }, "{index}",
125 "{type}", "_percolate",
126 "count",
127 ],
128 ],
129 qs => {
130 allow_no_indices => "boolean",
131 expand_wildcards => "enum",
132 filter_path => "list",
133 ignore_unavailable => "boolean",
134 percolate_index => "string",
135 percolate_type => "string",
136 preference => "string",
137 routing => "list",
138 version => "number",
139 version_type => "enum",
140 },
141 },
142
143 'create' => {
144 body => { required => 1 },
145 doc => "docs-index_",
146 method => "PUT",
147 parts => {
148 id => { required => 1 },
149 index => { required => 1 },
150 type => { required => 1 },
151 },
152 paths => [
153 [ { id => 2, index => 0, type => 1 },
154 "{index}", "{type}", "{id}", "_create",
155 ],
156 ],
157 qs => {
158 filter_path => "list",
159 parent => "string",
160 pipeline => "string",
161 refresh => "enum",
162 routing => "string",
163 timeout => "time",
164 timestamp => "time",
165 ttl => "time",
166 version => "number",
167 version_type => "enum",
168 wait_for_active_shards => "string",
169 },
170 },
171
172 'delete' => {
173 doc => "docs-delete",
174 method => "DELETE",
175 parts => {
176 id => { required => 1 },
177 index => { required => 1 },
178 type => { required => 1 },
179 },
180 paths => [
181 [ { id => 2, index => 0, type => 1 }, "{index}",
182 "{type}", "{id}"
183 ],
184 ],
185 qs => {
186 filter_path => "list",
187 parent => "string",
188 refresh => "enum",
189 routing => "string",
190 timeout => "time",
191 version => "number",
192 version_type => "enum",
193 wait_for_active_shards => "string",
194 },
195 },
196
197 'delete_by_query' => {
198 body => { required => 1 },
199 doc => "docs-delete-by-query",
200 method => "POST",
201 parts => {
202 index => { multi => 1, required => 1 },
203 type => { multi => 1 }
204 },
205 paths => [
206 [ { index => 0, type => 1 }, "{index}",
207 "{type}", "_delete_by_query",
208 ],
209 [ { index => 0 }, "{index}", "_delete_by_query" ],
210 ],
211 qs => {
212 _source => "list",
213 _source_exclude => "list",
214 _source_include => "list",
215 allow_no_indices => "boolean",
216 analyze_wildcard => "boolean",
217 analyzer => "string",
218 conflicts => "enum",
219 default_operator => "enum",
220 df => "string",
221 docvalue_fields => "list",
222 expand_wildcards => "enum",
223 explain => "boolean",
224 filter_path => "list",
225 from => "number",
226 ignore_unavailable => "boolean",
227 lenient => "boolean",
228 lowercase_expanded_terms => "boolean",
229 preference => "string",
230 q => "string",
231 refresh => "boolean",
232 request_cache => "boolean",
233 requests_per_second => "number",
234 routing => "list",
235 scroll => "time",
236 scroll_size => "number",
237 search_timeout => "time",
238 search_type => "enum",
239 size => "number",
240 sort => "list",
241 stats => "list",
242 stored_fields => "list",
243 suggest_field => "string",
244 suggest_mode => "enum",
245 suggest_size => "number",
246 suggest_text => "string",
247 terminate_after => "number",
248 timeout => "time",
249 track_scores => "boolean",
250 version => "boolean",
251 wait_for_active_shards => "string",
252 wait_for_completion => "boolean",
253 },
254 },
255
256 'delete_script' => {
257 doc => "modules-scripting",
258 method => "DELETE",
259 parts => { id => { required => 1 }, lang => { required => 1 } },
260 paths => [ [ { id => 2, lang => 1 }, "_scripts", "{lang}", "{id}" ] ],
261 qs => { filter_path => "list" },
262 },
263
264 'delete_template' => {
265 doc => "search-template",
266 method => "DELETE",
267 parts => { id => { required => 1 } },
268 paths => [ [ { id => 2 }, "_search", "template", "{id}" ] ],
269 qs => { filter_path => "list" },
270 },
271
272 'exists' => {
273 doc => "docs-get",
274 method => "HEAD",
275 parts => {
276 id => { required => 1 },
277 index => { required => 1 },
278 type => { required => 1 },
279 },
280 paths => [
281 [ { id => 2, index => 0, type => 1 }, "{index}",
282 "{type}", "{id}"
283 ],
284 ],
285 qs => {
286 parent => "string",
287 preference => "string",
288 realtime => "boolean",
289 refresh => "boolean",
290 routing => "string",
291 },
292 },
293
294 'explain' => {
295 body => {},
296 doc => "search-explain",
297 parts => {
298 id => { required => 1 },
299 index => { required => 1 },
300 type => { required => 1 },
301 },
302 paths => [
303 [ { id => 2, index => 0, type => 1 }, "{index}",
304 "{type}", "{id}",
305 "_explain",
306 ],
307 ],
308 qs => {
309 _source => "list",
310 _source_exclude => "list",
311 _source_include => "list",
312 analyze_wildcard => "boolean",
313 analyzer => "string",
314 default_operator => "enum",
315 df => "string",
316 filter_path => "list",
317 lenient => "boolean",
318 lowercase_expanded_terms => "boolean",
319 parent => "string",
320 preference => "string",
321 q => "string",
322 routing => "string",
323 stored_fields => "list",
324 },
325 },
326
327 'field_stats' => {
328 body => {},
329 doc => "search-field-stats",
330 parts => { index => { multi => 1 } },
331 paths => [
332 [ { index => 0 }, "{index}", "_field_stats" ],
333 [ {}, "_field_stats" ],
334 ],
335 qs => {
336 allow_no_indices => "boolean",
337 expand_wildcards => "enum",
338 fields => "list",
339 filter_path => "list",
340 ignore_unavailable => "boolean",
341 level => "enum",
342 },
343 },
344
345 'get' => {
346 doc => "docs-get",
347 parts => {
348 id => { required => 1 },
349 index => { required => 1 },
350 type => { required => 1 },
351 },
352 paths => [
353 [ { id => 2, index => 0, type => 1 }, "{index}",
354 "{type}", "{id}"
355 ],
356 ],
357 qs => {
358 _source => "list",
359 _source_exclude => "list",
360 _source_include => "list",
361 filter_path => "list",
362 parent => "string",
363 preference => "string",
364 realtime => "boolean",
365 refresh => "boolean",
366 routing => "string",
367 stored_fields => "list",
368 version => "number",
369 version_type => "enum",
370 },
371 },
372
373 'get_script' => {
374 doc => "modules-scripting",
375 parts => { id => { required => 1 }, lang => { required => 1 } },
376 paths => [ [ { id => 2, lang => 1 }, "_scripts", "{lang}", "{id}" ] ],
377 qs => { filter_path => "list" },
378 },
379
380 'get_source' => {
381 doc => "docs-get",
382 parts => {
383 id => { required => 1 },
384 index => { required => 1 },
385 type => { required => 1 },
386 },
387 paths => [
388 [ { id => 2, index => 0, type => 1 },
389 "{index}", "{type}", "{id}", "_source",
390 ],
391 ],
392 qs => {
393 _source => "list",
394 _source_exclude => "list",
395 _source_include => "list",
396 filter_path => "list",
397 parent => "string",
398 preference => "string",
399 realtime => "boolean",
400 refresh => "boolean",
401 routing => "string",
402 version => "number",
403 version_type => "enum",
404 },
405 },
406
407 'get_template' => {
408 doc => "search-template",
409 parts => { id => { required => 1 } },
410 paths => [ [ { id => 2 }, "_search", "template", "{id}" ] ],
411 qs => { filter_path => "list" },
412 },
413
414 'index' => {
415 body => { required => 1 },
416 doc => "docs-index_",
417 method => "POST",
418 parts => {
419 id => {},
420 index => { required => 1 },
421 type => { required => 1 }
422 },
423 paths => [
424 [ { id => 2, index => 0, type => 1 }, "{index}",
425 "{type}", "{id}"
426 ],
427 [ { index => 0, type => 1 }, "{index}", "{type}" ],
428 ],
429 qs => {
430 filter_path => "list",
431 op_type => "enum",
432 parent => "string",
433 pipeline => "string",
434 refresh => "enum",
435 routing => "string",
436 timeout => "time",
437 timestamp => "time",
438 ttl => "time",
439 version => "number",
440 version_type => "enum",
441 wait_for_active_shards => "string",
442 },
443 },
444
445 'info' => {
446 doc => "",
447 parts => {},
448 paths => [ [ {} ] ],
449 qs => { filter_path => "list" }
450 },
451
452 'mget' => {
453 body => { required => 1 },
454 doc => "docs-multi-get",
455 parts => { index => {}, type => {} },
456 paths => [
457 [ { index => 0, type => 1 }, "{index}", "{type}", "_mget" ],
458 [ { index => 0 }, "{index}", "_mget" ],
459 [ {}, "_mget" ],
460 ],
461 qs => {
462 _source => "list",
463 _source_exclude => "list",
464 _source_include => "list",
465 filter_path => "list",
466 preference => "string",
467 realtime => "boolean",
468 refresh => "boolean",
469 stored_fields => "list",
470 },
471 },
472
473 'mpercolate' => {
474 body => { required => 1 },
475 doc => "search-percolate",
476 parts => { index => {}, type => {} },
477 paths => [
478 [ { index => 0, type => 1 }, "{index}", "{type}", "_mpercolate" ],
479 [ { index => 0 }, "{index}", "_mpercolate" ],
480 [ {}, "_mpercolate" ],
481 ],
482 qs => {
483 allow_no_indices => "boolean",
484 expand_wildcards => "enum",
485 filter_path => "list",
486 ignore_unavailable => "boolean",
487 },
488 serialize => "bulk",
489 },
490
491 'msearch' => {
492 body => { required => 1 },
493 doc => "search-multi-search",
494 parts => { index => { multi => 1 }, type => { multi => 1 } },
495 paths => [
496 [ { index => 0, type => 1 }, "{index}", "{type}", "_msearch" ],
497 [ { index => 0 }, "{index}", "_msearch" ],
498 [ {}, "_msearch" ],
499 ],
500 qs => {
501 filter_path => "list",
502 max_concurrent_searches => "number",
503 search_type => "enum",
504 },
505 serialize => "bulk",
506 },
507
508 'msearch_template' => {
509 body => { required => 1 },
510 doc => "search-template",
511 parts => { index => { multi => 1 }, type => { multi => 1 } },
512 paths => [
513 [ { index => 0, type => 1 }, "{index}",
514 "{type}", "_msearch",
515 "template",
516 ],
517 [ { index => 0 }, "{index}", "_msearch", "template" ],
518 [ {}, "_msearch", "template" ],
519 ],
520 qs => { filter_path => "list", search_type => "enum" },
521 serialize => "bulk",
522 },
523
524 'mtermvectors' => {
525 body => {},
526 doc => "docs-multi-termvectors",
527 parts => { index => {}, type => {} },
528 paths => [
529 [ { index => 0, type => 1 }, "{index}",
530 "{type}", "_mtermvectors"
531 ],
532 [ { index => 0 }, "{index}", "_mtermvectors" ],
533 [ {}, "_mtermvectors" ],
534 ],
535 qs => {
536 field_statistics => "boolean",
537 fields => "list",
538 filter_path => "list",
539 ids => "list",
540 offsets => "boolean",
541 parent => "string",
542 payloads => "boolean",
543 positions => "boolean",
544 preference => "string",
545 realtime => "boolean",
546 routing => "string",
547 term_statistics => "boolean",
548 version => "number",
549 version_type => "enum",
550 },
551 },
552
553 'percolate' => {
554 body => {},
555 doc => "search-percolate",
556 parts => {
557 id => {},
558 index => { required => 1 },
559 type => { required => 1 }
560 },
561 paths => [
562 [ { id => 2, index => 0, type => 1 }, "{index}",
563 "{type}", "{id}",
564 "_percolate",
565 ],
566 [ { index => 0, type => 1 }, "{index}", "{type}", "_percolate" ],
567 ],
568 qs => {
569 allow_no_indices => "boolean",
570 expand_wildcards => "enum",
571 filter_path => "list",
572 ignore_unavailable => "boolean",
573 percolate_format => "enum",
574 percolate_index => "string",
575 percolate_preference => "string",
576 percolate_routing => "string",
577 percolate_type => "string",
578 preference => "string",
579 routing => "list",
580 version => "number",
581 version_type => "enum",
582 },
583 },
584
585 'ping' => {
586 doc => "",
587 method => "HEAD",
588 parts => {},
589 paths => [ [ {} ] ],
590 qs => {}
591 },
592
593 'put_script' => {
594 body => { required => 1 },
595 doc => "modules-scripting",
596 method => "PUT",
597 parts => { id => { required => 1 }, lang => { required => 1 } },
598 paths => [ [ { id => 2, lang => 1 }, "_scripts", "{lang}", "{id}" ] ],
599 qs => { filter_path => "list" },
600 },
601
602 'put_template' => {
603 body => { required => 1 },
604 doc => "search-template",
605 method => "PUT",
606 parts => { id => { required => 1 } },
607 paths => [ [ { id => 2 }, "_search", "template", "{id}" ] ],
608 qs => { filter_path => "list" },
609 },
610
611 'reindex' => {
612 body => { required => 1 },
613 doc => "docs-reindex",
614 method => "POST",
615 parts => {},
616 paths => [ [ {}, "_reindex" ] ],
617 qs => {
618 filter_path => "list",
619 refresh => "boolean",
620 requests_per_second => "number",
621 timeout => "time",
622 wait_for_active_shards => "string",
623 wait_for_completion => "boolean",
624 },
625 },
626
627 'reindex_rethrottle' => {
628 doc => "docs-reindex",
629 method => "POST",
630 parts => { task_id => {} },
631 paths =>
632 [ [ { task_id => 1 }, "_reindex", "{task_id}", "_rethrottle" ] ],
633 qs => { filter_path => "list", requests_per_second => "number" },
634 },
635
636 'render_search_template' => {
637 body => {},
638 doc => "search-template",
639 parts => { id => {} },
640 paths => [
641 [ { id => 2 }, "_render", "template", "{id}" ],
642 [ {}, "_render", "template" ],
643 ],
644 qs => { filter_path => "list" },
645 },
646
647 'scroll' => {
648 body => {},
649 doc => "search-request-scroll",
650 parts => { scroll_id => {} },
651 paths => [
652 [ { scroll_id => 2 }, "_search", "scroll", "{scroll_id}" ],
653 [ {}, "_search", "scroll" ],
654 ],
655 qs => { filter_path => "list", scroll => "time" },
656 },
657
658 'search' => {
659 body => {},
660 doc => "search-search",
661 parts => { index => { multi => 1 }, type => { multi => 1 } },
662 paths => [
663 [ { index => 0, type => 1 }, "{index}", "{type}", "_search" ],
664 [ { index => 0 }, "{index}", "_search" ],
665 [ {}, "_search" ],
666 ],
667 qs => {
668 _source => "list",
669 _source_exclude => "list",
670 _source_include => "list",
671 allow_no_indices => "boolean",
672 analyze_wildcard => "boolean",
673 analyzer => "string",
674 default_operator => "enum",
675 df => "string",
676 docvalue_fields => "list",
677 expand_wildcards => "enum",
678 explain => "boolean",
679 fielddata_fields => "list",
680 filter_path => "list",
681 from => "number",
682 ignore_unavailable => "boolean",
683 lenient => "boolean",
684 lowercase_expanded_terms => "boolean",
685 preference => "string",
686 q => "string",
687 request_cache => "boolean",
688 routing => "list",
689 scroll => "time",
690 search_type => "enum",
691 size => "number",
692 sort => "list",
693 stats => "list",
694 stored_fields => "list",
695 suggest_field => "string",
696 suggest_mode => "enum",
697 suggest_size => "number",
698 suggest_text => "string",
699 terminate_after => "number",
700 timeout => "time",
701 track_scores => "boolean",
702 version => "boolean",
703 },
704 },
705
706 'search_shards' => {
707 doc => "search-shards",
708 parts => { index => { multi => 1 }, type => { multi => 1 } },
709 paths => [
710 [ { index => 0, type => 1 }, "{index}",
711 "{type}", "_search_shards",
712 ],
713 [ { index => 0 }, "{index}", "_search_shards" ],
714 [ {}, "_search_shards" ],
715 ],
716 qs => {
717 allow_no_indices => "boolean",
718 expand_wildcards => "enum",
719 filter_path => "list",
720 ignore_unavailable => "boolean",
721 local => "boolean",
722 preference => "string",
723 routing => "string",
724 },
725 },
726
727 'search_template' => {
728 body => {},
729 doc => "search-template",
730 parts => { index => { multi => 1 }, type => { multi => 1 } },
731 paths => [
732 [ { index => 0, type => 1 }, "{index}",
733 "{type}", "_search",
734 "template",
735 ],
736 [ { index => 0 }, "{index}", "_search", "template" ],
737 [ {}, "_search", "template" ],
738 ],
739 qs => {
740 allow_no_indices => "boolean",
741 expand_wildcards => "enum",
742 filter_path => "list",
743 ignore_unavailable => "boolean",
744 preference => "string",
745 routing => "list",
746 scroll => "time",
747 search_type => "enum",
748 },
749 },
750
751 'suggest' => {
752 body => { required => 1 },
753 doc => "search-suggesters",
754 method => "POST",
755 parts => { index => { multi => 1 } },
756 paths =>
757 [ [ { index => 0 }, "{index}", "_suggest" ], [ {}, "_suggest" ] ],
758 qs => {
759 allow_no_indices => "boolean",
760 expand_wildcards => "enum",
761 filter_path => "list",
762 ignore_unavailable => "boolean",
763 preference => "string",
764 routing => "string",
765 },
766 },
767
768 'termvectors' => {
769 body => {},
770 doc => "docs-termvectors",
771 parts => {
772 id => {},
773 index => { required => 1 },
774 type => { required => 1 }
775 },
776 paths => [
777 [ { id => 2, index => 0, type => 1 }, "{index}",
778 "{type}", "{id}",
779 "_termvectors",
780 ],
781 [ { index => 0, type => 1 }, "{index}", "{type}",
782 "_termvectors"
783 ],
784 ],
785 qs => {
786 field_statistics => "boolean",
787 fields => "list",
788 filter_path => "list",
789 offsets => "boolean",
790 parent => "string",
791 payloads => "boolean",
792 positions => "boolean",
793 preference => "string",
794 realtime => "boolean",
795 routing => "string",
796 term_statistics => "boolean",
797 version => "number",
798 version_type => "enum",
799 },
800 },
801
802 'update' => {
803 body => {},
804 doc => "docs-update",
805 method => "POST",
806 parts => {
807 id => { required => 1 },
808 index => { required => 1 },
809 type => { required => 1 },
810 },
811 paths => [
812 [ { id => 2, index => 0, type => 1 },
813 "{index}", "{type}", "{id}", "_update",
814 ],
815 ],
816 qs => {
817 _source => "list",
818 _source_exclude => "list",
819 _source_include => "list",
820 fields => "list",
821 filter_path => "list",
822 lang => "string",
823 parent => "string",
824 refresh => "enum",
825 retry_on_conflict => "number",
826 routing => "string",
827 timeout => "time",
828 timestamp => "time",
829 ttl => "time",
830 version => "number",
831 version_type => "enum",
832 wait_for_active_shards => "string",
833 },
834 },
835
836 'update_by_query' => {
837 body => {},
838 doc => "docs-update-by-query",
839 method => "POST",
840 parts => {
841 index => { multi => 1, required => 1 },
842 type => { multi => 1 }
843 },
844 paths => [
845 [ { index => 0, type => 1 }, "{index}",
846 "{type}", "_update_by_query",
847 ],
848 [ { index => 0 }, "{index}", "_update_by_query" ],
849 ],
850 qs => {
851 _source => "list",
852 _source_exclude => "list",
853 _source_include => "list",
854 allow_no_indices => "boolean",
855 analyze_wildcard => "boolean",
856 analyzer => "string",
857 conflicts => "enum",
858 default_operator => "enum",
859 df => "string",
860 docvalue_fields => "list",
861 expand_wildcards => "enum",
862 explain => "boolean",
863 fielddata_fields => "list",
864 filter_path => "list",
865 from => "number",
866 ignore_unavailable => "boolean",
867 lenient => "boolean",
868 lowercase_expanded_terms => "boolean",
869 pipeline => "string",
870 preference => "string",
871 q => "string",
872 refresh => "boolean",
873 request_cache => "boolean",
874 requests_per_second => "number",
875 routing => "list",
876 scroll => "time",
877 scroll_size => "number",
878 search_timeout => "time",
879 search_type => "enum",
880 size => "number",
881 sort => "list",
882 stats => "list",
883 stored_fields => "list",
884 suggest_field => "string",
885 suggest_mode => "enum",
886 suggest_size => "number",
887 suggest_text => "string",
888 terminate_after => "number",
889 timeout => "time",
890 track_scores => "boolean",
891 version => "boolean",
892 version_type => "boolean",
893 wait_for_active_shards => "string",
894 wait_for_completion => "boolean",
895 },
896 },
897
898 'cat.aliases' => {
899 doc => "cat-alias",
900 parts => { name => { multi => 1 } },
901 paths => [
902 [ { name => 2 }, "_cat", "aliases", "{name}" ],
903 [ {}, "_cat", "aliases" ],
904 ],
905 qs => {
906 format => "string",
907 h => "list",
908 help => "boolean",
909 local => "boolean",
910 master_timeout => "time",
911 v => "boolean",
912 },
913 },
914
915 'cat.allocation' => {
916 doc => "cat-allocation",
917 parts => { node_id => { multi => 1 } },
918 paths => [
919 [ { node_id => 2 }, "_cat", "allocation", "{node_id}" ],
920 [ {}, "_cat", "allocation" ],
921 ],
922 qs => {
923 bytes => "enum",
924 format => "string",
925 h => "list",
926 help => "boolean",
927 local => "boolean",
928 master_timeout => "time",
929 v => "boolean",
930 },
931 },
932
933 'cat.count' => {
934 doc => "cat-count",
935 parts => { index => { multi => 1 } },
936 paths => [
937 [ { index => 2 }, "_cat", "count", "{index}" ],
938 [ {}, "_cat", "count" ],
939 ],
940 qs => {
941 format => "string",
942 h => "list",
943 help => "boolean",
944 local => "boolean",
945 master_timeout => "time",
946 v => "boolean",
947 },
948 },
949
950 'cat.fielddata' => {
951 doc => "cat-fielddata",
952 parts => { fields => { multi => 1 } },
953 paths => [
954 [ { fields => 2 }, "_cat", "fielddata", "{fields}" ],
955 [ {}, "_cat", "fielddata" ],
956 ],
957 qs => {
958 bytes => "enum",
959 format => "string",
960 h => "list",
961 help => "boolean",
962 local => "boolean",
963 master_timeout => "time",
964 v => "boolean",
965 },
966 },
967
968 'cat.health' => {
969 doc => "cat-health",
970 parts => {},
971 paths => [ [ {}, "_cat", "health" ] ],
972 qs => {
973 format => "string",
974 h => "list",
975 help => "boolean",
976 local => "boolean",
977 master_timeout => "time",
978 ts => "boolean",
979 v => "boolean",
980 },
981 },
982
983 'cat.help' => {
984 doc => "cat",
985 parts => {},
986 paths => [ [ {}, "_cat" ] ],
987 qs => { help => "boolean" },
988 },
989
990 'cat.indices' => {
991 doc => "cat-indices",
992 parts => { index => { multi => 1 } },
993 paths => [
994 [ { index => 2 }, "_cat", "indices", "{index}" ],
995 [ {}, "_cat", "indices" ],
996 ],
997 qs => {
998 bytes => "enum",
999 format => "string",
1000 h => "list",
1001 health => "enum",
1002 help => "boolean",
1003 local => "boolean",
1004 master_timeout => "time",
1005 pri => "boolean",
1006 v => "boolean",
1007 },
1008 },
1009
1010 'cat.master' => {
1011 doc => "cat-master",
1012 parts => {},
1013 paths => [ [ {}, "_cat", "master" ] ],
1014 qs => {
1015 format => "string",
1016 h => "list",
1017 help => "boolean",
1018 local => "boolean",
1019 master_timeout => "time",
1020 v => "boolean",
1021 },
1022 },
1023
1024 'cat.nodeattrs' => {
1025 doc => "cat-nodeattrs",
1026 parts => {},
1027 paths => [ [ {}, "_cat", "nodeattrs" ] ],
1028 qs => {
1029 format => "string",
1030 h => "list",
1031 help => "boolean",
1032 local => "boolean",
1033 master_timeout => "time",
1034 v => "boolean",
1035 },
1036 },
1037
1038 'cat.nodes' => {
1039 doc => "cat-nodes",
1040 parts => {},
1041 paths => [ [ {}, "_cat", "nodes" ] ],
1042 qs => {
1043 format => "string",
1044 h => "list",
1045 help => "boolean",
1046 local => "boolean",
1047 master_timeout => "time",
1048 v => "boolean",
1049 },
1050 },
1051
1052 'cat.pending_tasks' => {
1053 doc => "cat-pending-tasks",
1054 parts => {},
1055 paths => [ [ {}, "_cat", "pending_tasks" ] ],
1056 qs => {
1057 format => "string",
1058 h => "list",
1059 help => "boolean",
1060 local => "boolean",
1061 master_timeout => "time",
1062 v => "boolean",
1063 },
1064 },
1065
1066 'cat.plugins' => {
1067 doc => "cat-plugins",
1068 parts => {},
1069 paths => [ [ {}, "_cat", "plugins" ] ],
1070 qs => {
1071 format => "string",
1072 h => "list",
1073 help => "boolean",
1074 local => "boolean",
1075 master_timeout => "time",
1076 v => "boolean",
1077 },
1078 },
1079
1080 'cat.recovery' => {
1081 doc => "cat-recovery",
1082 parts => { index => { multi => 1 } },
1083 paths => [
1084 [ { index => 2 }, "_cat", "recovery", "{index}" ],
1085 [ {}, "_cat", "recovery" ],
1086 ],
1087 qs => {
1088 bytes => "enum",
1089 format => "string",
1090 h => "list",
1091 help => "boolean",
1092 master_timeout => "time",
1093 v => "boolean",
1094 },
1095 },
1096
1097 'cat.repositories' => {
1098 doc => "cat-repositories",
1099 parts => {},
1100 paths => [ [ {}, "_cat", "repositories" ] ],
1101 qs => {
1102 format => "string",
1103 h => "list",
1104 help => "boolean",
1105 local => "boolean",
1106 master_timeout => "time",
1107 v => "boolean",
1108 },
1109 },
1110
1111 'cat.segments' => {
1112 doc => "cat-segments",
1113 parts => { index => { multi => 1 } },
1114 paths => [
1115 [ { index => 2 }, "_cat", "segments", "{index}" ],
1116 [ {}, "_cat", "segments" ],
1117 ],
1118 qs => {
1119 format => "string",
1120 h => "list",
1121 help => "boolean",
1122 v => "boolean"
1123 },
1124 },
1125
1126 'cat.shards' => {
1127 doc => "cat-shards",
1128 parts => { index => { multi => 1 } },
1129 paths => [
1130 [ { index => 2 }, "_cat", "shards", "{index}" ],
1131 [ {}, "_cat", "shards" ],
1132 ],
1133 qs => {
1134 format => "string",
1135 h => "list",
1136 help => "boolean",
1137 local => "boolean",
1138 master_timeout => "time",
1139 v => "boolean",
1140 },
1141 },
1142
1143 'cat.snapshots' => {
1144 doc => "cat-snapshots",
1145 parts => { repository => { multi => 1, required => 1 } },
1146 paths => [
1147 [ { repository => 2 }, "_cat", "snapshots", "{repository}" ],
1148 [ {}, "_cat", "snapshots" ],
1149 ],
1150 qs => {
1151 format => "string",
1152 h => "list",
1153 help => "boolean",
1154 ignore_unavailable => "boolean",
1155 master_timeout => "time",
1156 v => "boolean",
1157 },
1158 },
1159
1160 'cat.tasks' => {
1161 doc => "tasks",
1162 parts => {},
1163 paths => [ [ {}, "_cat", "tasks" ] ],
1164 qs => {
1165 actions => "list",
1166 detailed => "boolean",
1167 format => "string",
1168 h => "list",
1169 help => "boolean",
1170 node_id => "list",
1171 parent_node => "string",
1172 parent_task => "number",
1173 v => "boolean",
1174 },
1175 },
1176
1177 'cat.thread_pool' => {
1178 doc => "cat-thread-pool",
1179 parts => {},
1180 paths => [
1181 [ { thread_pools => 2 }, "_cat", "thread_pool",
1182 "{thread_pools}"
1183 ],
1184 [ {}, "_cat", "thread_pool" ],
1185 ],
1186 qs => {
1187 format => "string",
1188 h => "list",
1189 help => "boolean",
1190 local => "boolean",
1191 master_timeout => "time",
1192 size => "enum",
1193 thread_pool_patterns => "list",
1194 v => "boolean",
1195 },
1196 },
1197
1198 'cluster.allocation_explain' => {
1199 body => {},
1200 doc => "cluster-allocation-explain",
1201 parts => {},
1202 paths => [ [ {}, "_cluster", "allocation", "explain" ] ],
1203 qs => {
1204 filter_path => "list",
1205 include_disk_info => "boolean",
1206 include_yes_decisions => "boolean",
1207 },
1208 },
1209
1210 'cluster.get_settings' => {
1211 doc => "cluster-update-settings",
1212 parts => {},
1213 paths => [ [ {}, "_cluster", "settings" ] ],
1214 qs => {
1215 filter_path => "list",
1216 flat_settings => "boolean",
1217 include_defaults => "boolean",
1218 master_timeout => "time",
1219 timeout => "time",
1220 },
1221 },
1222
1223 'cluster.health' => {
1224 doc => "cluster-health",
1225 parts => { index => { multi => 1 } },
1226 paths => [
1227 [ { index => 2 }, "_cluster", "health", "{index}" ],
1228 [ {}, "_cluster", "health" ],
1229 ],
1230 qs => {
1231 filter_path => "list",
1232 level => "enum",
1233 local => "boolean",
1234 master_timeout => "time",
1235 timeout => "time",
1236 wait_for_active_shards => "string",
1237 wait_for_events => "enum",
1238 wait_for_no_relocating_shards => "boolean",
1239 wait_for_nodes => "string",
1240 wait_for_status => "enum",
1241 },
1242 },
1243
1244 'cluster.pending_tasks' => {
1245 doc => "cluster-pending",
1246 parts => {},
1247 paths => [ [ {}, "_cluster", "pending_tasks" ] ],
1248 qs => {
1249 filter_path => "list",
1250 local => "boolean",
1251 master_timeout => "time"
1252 },
1253 },
1254
1255 'cluster.put_settings' => {
1256 body => {},
1257 doc => "cluster-update-settings",
1258 method => "PUT",
1259 parts => {},
1260 paths => [ [ {}, "_cluster", "settings" ] ],
1261 qs => {
1262 filter_path => "list",
1263 flat_settings => "boolean",
1264 master_timeout => "time",
1265 timeout => "time",
1266 },
1267 },
1268
1269 'cluster.reroute' => {
1270 body => {},
1271 doc => "cluster-reroute",
1272 method => "POST",
1273 parts => {},
1274 paths => [ [ {}, "_cluster", "reroute" ] ],
1275 qs => {
1276 dry_run => "boolean",
1277 explain => "boolean",
1278 filter_path => "list",
1279 master_timeout => "time",
1280 metric => "list",
1281 retry_failed => "boolean",
1282 timeout => "time",
1283 },
1284 },
1285
1286 'cluster.state' => {
1287 doc => "cluster-state",
1288 parts => { index => { multi => 1 }, metric => { multi => 1 } },
1289 paths => [
1290 [ { index => 3, metric => 2 }, "_cluster",
1291 "state", "{metric}",
1292 "{index}",
1293 ],
1294 [ { metric => 2 }, "_cluster", "state", "{metric}" ],
1295 [ {}, "_cluster", "state" ],
1296 ],
1297 qs => {
1298 allow_no_indices => "boolean",
1299 expand_wildcards => "enum",
1300 filter_path => "list",
1301 flat_settings => "boolean",
1302 ignore_unavailable => "boolean",
1303 local => "boolean",
1304 master_timeout => "time",
1305 },
1306 },
1307
1308 'cluster.stats' => {
1309 doc => "cluster-stats",
1310 parts => { node_id => { multi => 1 } },
1311 paths => [
1312 [ { node_id => 3 }, "_cluster", "stats", "nodes", "{node_id}" ],
1313 [ {}, "_cluster", "stats" ],
1314 ],
1315 qs => {
1316 filter_path => "list",
1317 flat_settings => "boolean",
1318 human => "boolean",
1319 timeout => "time",
1320 },
1321 },
1322
1323 'indices.analyze' => {
1324 body => {},
1325 doc => "indices-analyze",
1326 parts => { index => {} },
1327 paths =>
1328 [ [ { index => 0 }, "{index}", "_analyze" ], [ {}, "_analyze" ] ],
1329 qs => {
1330 analyzer => "string",
1331 attributes => "list",
1332 char_filter => "list",
1333 explain => "boolean",
1334 field => "string",
1335 filter => "list",
1336 filter_path => "list",
1337 format => "enum",
1338 prefer_local => "boolean",
1339 text => "list",
1340 tokenizer => "string",
1341 },
1342 },
1343
1344 'indices.clear_cache' => {
1345 doc => "indices-clearcache",
1346 method => "POST",
1347 parts => { index => { multi => 1 } },
1348 paths => [
1349 [ { index => 0 }, "{index}", "_cache", "clear" ],
1350 [ {}, "_cache", "clear" ],
1351 ],
1352 qs => {
1353 allow_no_indices => "boolean",
1354 expand_wildcards => "enum",
1355 fielddata => "boolean",
1356 fields => "list",
1357 filter_path => "list",
1358 ignore_unavailable => "boolean",
1359 query => "boolean",
1360 recycler => "boolean",
1361 request => "boolean",
1362 },
1363 },
1364
1365 'indices.close' => {
1366 doc => "indices-open-close",
1367 method => "POST",
1368 parts => { index => { multi => 1, required => 1 } },
1369 paths => [ [ { index => 0 }, "{index}", "_close" ] ],
1370 qs => {
1371 allow_no_indices => "boolean",
1372 expand_wildcards => "enum",
1373 filter_path => "list",
1374 ignore_unavailable => "boolean",
1375 master_timeout => "time",
1376 timeout => "time",
1377 },
1378 },
1379
1380 'indices.create' => {
1381 body => {},
1382 doc => "indices-create-index",
1383 method => "PUT",
1384 parts => { index => { required => 1 } },
1385 paths => [ [ { index => 0 }, "{index}" ] ],
1386 qs => {
1387 filter_path => "list",
1388 master_timeout => "time",
1389 timeout => "time",
1390 update_all_types => "boolean",
1391 wait_for_active_shards => "string",
1392 },
1393 },
1394
1395 'indices.delete' => {
1396 doc => "indices-delete-index",
1397 method => "DELETE",
1398 parts => { index => { multi => 1, required => 1 } },
1399 paths => [ [ { index => 0 }, "{index}" ] ],
1400 qs => {
1401 filter_path => "list",
1402 master_timeout => "time",
1403 timeout => "time"
1404 },
1405 },
1406
1407 'indices.delete_alias' => {
1408 doc => "indices-aliases",
1409 method => "DELETE",
1410 parts => {
1411 index => { multi => 1, required => 1 },
1412 name => { multi => 1, required => 1 },
1413 },
1414 paths =>
1415 [ [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ] ],
1416 qs => {
1417 filter_path => "list",
1418 master_timeout => "time",
1419 timeout => "time"
1420 },
1421 },
1422
1423 'indices.delete_template' => {
1424 doc => "indices-templates",
1425 method => "DELETE",
1426 parts => { name => { required => 1 } },
1427 paths => [ [ { name => 1 }, "_template", "{name}" ] ],
1428 qs => {
1429 filter_path => "list",
1430 master_timeout => "time",
1431 timeout => "time"
1432 },
1433 },
1434
1435 'indices.exists' => {
1436 doc => "indices-exists",
1437 method => "HEAD",
1438 parts => { index => { multi => 1, required => 1 } },
1439 paths => [ [ { index => 0 }, "{index}" ] ],
1440 qs => {
1441 allow_no_indices => "boolean",
1442 expand_wildcards => "enum",
1443 ignore_unavailable => "boolean",
1444 local => "boolean",
1445 },
1446 },
1447
1448 'indices.exists_alias' => {
1449 doc => "indices-aliases",
1450 method => "HEAD",
1451 parts => { index => { multi => 1 }, name => { multi => 1 } },
1452 paths => [
1453 [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
1454 [ { index => 0 }, "{index}", "_alias" ],
1455 [ { name => 1 }, "_alias", "{name}" ],
1456 ],
1457 qs => {
1458 allow_no_indices => "boolean",
1459 expand_wildcards => "enum",
1460 ignore_unavailable => "boolean",
1461 local => "boolean",
1462 },
1463 },
1464
1465 'indices.exists_template' => {
1466 doc => "indices-templates",
1467 method => "HEAD",
1468 parts => { name => { required => 1 } },
1469 paths => [ [ { name => 1 }, "_template", "{name}" ] ],
1470 qs => { local => "boolean", master_timeout => "time" },
1471 },
1472
1473 'indices.exists_type' => {
1474 doc => "indices-types-exists",
1475 method => "HEAD",
1476 parts => {
1477 index => { multi => 1, required => 1 },
1478 type => { multi => 1, required => 1 },
1479 },
1480 paths => [
1481 [ { index => 0, type => 2 }, "{index}", "_mapping", "{type}" ]
1482 ],
1483 qs => {
1484 allow_no_indices => "boolean",
1485 expand_wildcards => "enum",
1486 ignore_unavailable => "boolean",
1487 local => "boolean",
1488 },
1489 },
1490
1491 'indices.flush' => {
1492 doc => "indices-flush",
1493 method => "POST",
1494 parts => { index => { multi => 1 } },
1495 paths =>
1496 [ [ { index => 0 }, "{index}", "_flush" ], [ {}, "_flush" ] ],
1497 qs => {
1498 allow_no_indices => "boolean",
1499 expand_wildcards => "enum",
1500 filter_path => "list",
1501 force => "boolean",
1502 ignore_unavailable => "boolean",
1503 wait_if_ongoing => "boolean",
1504 },
1505 },
1506
1507 'indices.flush_synced' => {
1508 doc => "indices-synced-flush",
1509 method => "POST",
1510 parts => { index => { multi => 1 } },
1511 paths => [
1512 [ { index => 0 }, "{index}", "_flush", "synced" ],
1513 [ {}, "_flush", "synced" ],
1514 ],
1515 qs => {
1516 allow_no_indices => "boolean",
1517 expand_wildcards => "enum",
1518 filter_path => "list",
1519 ignore_unavailable => "boolean",
1520 },
1521 },
1522
1523 'indices.forcemerge' => {
1524 doc => "indices-forcemerge",
1525 method => "POST",
1526 parts => { index => { multi => 1 } },
1527 paths => [
1528 [ { index => 0 }, "{index}", "_forcemerge" ],
1529 [ {}, "_forcemerge" ],
1530 ],
1531 qs => {
1532 allow_no_indices => "boolean",
1533 expand_wildcards => "enum",
1534 filter_path => "list",
1535 flush => "boolean",
1536 ignore_unavailable => "boolean",
1537 max_num_segments => "number",
1538 only_expunge_deletes => "boolean",
1539 wait_for_merge => "boolean",
1540 },
1541 },
1542
1543 'indices.get' => {
1544 doc => "indices-get-index",
1545 parts => {
1546 feature => { multi => 1 },
1547 index => { multi => 1, required => 1 }
1548 },
1549 paths => [
1550 [ { feature => 1, index => 0 }, "{index}", "{feature}" ],
1551 [ { index => 0 }, "{index}" ],
1552 ],
1553 qs => {
1554 allow_no_indices => "boolean",
1555 expand_wildcards => "enum",
1556 filter_path => "list",
1557 flat_settings => "boolean",
1558 human => "boolean",
1559 ignore_unavailable => "boolean",
1560 include_defaults => "boolean",
1561 local => "boolean",
1562 },
1563 },
1564
1565 'indices.get_alias' => {
1566 doc => "indices-aliases",
1567 parts => { index => { multi => 1 }, name => { multi => 1 } },
1568 paths => [
1569 [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
1570 [ { index => 0 }, "{index}", "_alias" ],
1571 [ { name => 1 }, "_alias", "{name}" ],
1572 [ {}, "_alias" ],
1573 ],
1574 qs => {
1575 allow_no_indices => "boolean",
1576 expand_wildcards => "enum",
1577 filter_path => "list",
1578 ignore_unavailable => "boolean",
1579 local => "boolean",
1580 },
1581 },
1582
1583 'indices.get_field_mapping' => {
1584 doc => "indices-get-field-mapping",
1585 parts => {
1586 fields => { multi => 1, required => 1 },
1587 index => { multi => 1 },
1588 type => { multi => 1 },
1589 },
1590 paths => [
1591 [ { fields => 4, index => 0, type => 2 }, "{index}",
1592 "_mapping", "{type}",
1593 "field", "{fields}",
1594 ],
1595 [ { fields => 3, index => 0 }, "{index}",
1596 "_mapping", "field",
1597 "{fields}",
1598 ],
1599 [ { fields => 3, type => 1 }, "_mapping",
1600 "{type}", "field",
1601 "{fields}",
1602 ],
1603 [ { fields => 2 }, "_mapping", "field", "{fields}" ],
1604 ],
1605 qs => {
1606 allow_no_indices => "boolean",
1607 expand_wildcards => "enum",
1608 filter_path => "list",
1609 ignore_unavailable => "boolean",
1610 include_defaults => "boolean",
1611 local => "boolean",
1612 },
1613 },
1614
1615 'indices.get_mapping' => {
1616 doc => "indices-get-mapping",
1617 parts => { index => { multi => 1 }, type => { multi => 1 } },
1618 paths => [
1619 [ { index => 0, type => 2 }, "{index}", "_mapping", "{type}" ],
1620 [ { index => 0 }, "{index}", "_mapping" ],
1621 [ { type => 1 }, "_mapping", "{type}" ],
1622 [ {}, "_mapping" ],
1623 ],
1624 qs => {
1625 allow_no_indices => "boolean",
1626 expand_wildcards => "enum",
1627 filter_path => "list",
1628 ignore_unavailable => "boolean",
1629 local => "boolean",
1630 },
1631 },
1632
1633 'indices.get_settings' => {
1634 doc => "indices-get-settings",
1635 parts => { index => { multi => 1 }, name => { multi => 1 } },
1636 paths => [
1637 [ { index => 0, name => 2 }, "{index}", "_settings", "{name}" ],
1638 [ { index => 0 }, "{index}", "_settings" ],
1639 [ { name => 1 }, "_settings", "{name}" ],
1640 [ {}, "_settings" ],
1641 ],
1642 qs => {
1643 allow_no_indices => "boolean",
1644 expand_wildcards => "enum",
1645 filter_path => "list",
1646 flat_settings => "boolean",
1647 human => "boolean",
1648 ignore_unavailable => "boolean",
1649 include_defaults => "boolean",
1650 local => "boolean",
1651 },
1652 },
1653
1654 'indices.get_template' => {
1655 doc => "indices-templates",
1656 parts => { name => { multi => 1 } },
1657 paths =>
1658 [ [ { name => 1 }, "_template", "{name}" ], [ {}, "_template" ] ],
1659 qs => {
1660 filter_path => "list",
1661 flat_settings => "boolean",
1662 local => "boolean",
1663 master_timeout => "time",
1664 },
1665 },
1666
1667 'indices.get_upgrade' => {
1668 doc => "indices-upgrade",
1669 parts => { index => { multi => 1 } },
1670 paths =>
1671 [ [ { index => 0 }, "{index}", "_upgrade" ], [ {}, "_upgrade" ] ],
1672 qs => {
1673 allow_no_indices => "boolean",
1674 expand_wildcards => "enum",
1675 filter_path => "list",
1676 human => "boolean",
1677 ignore_unavailable => "boolean",
1678 },
1679 },
1680
1681 'indices.open' => {
1682 doc => "indices-open-close",
1683 method => "POST",
1684 parts => { index => { multi => 1, required => 1 } },
1685 paths => [ [ { index => 0 }, "{index}", "_open" ] ],
1686 qs => {
1687 allow_no_indices => "boolean",
1688 expand_wildcards => "enum",
1689 filter_path => "list",
1690 ignore_unavailable => "boolean",
1691 master_timeout => "time",
1692 timeout => "time",
1693 },
1694 },
1695
1696 'indices.put_alias' => {
1697 body => {},
1698 doc => "indices-aliases",
1699 method => "PUT",
1700 parts => {
1701 index => { multi => 1, required => 1 },
1702 name => { required => 1 }
1703 },
1704 paths =>
1705 [ [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ] ],
1706 qs => {
1707 filter_path => "list",
1708 master_timeout => "time",
1709 timeout => "time"
1710 },
1711 },
1712
1713 'indices.put_mapping' => {
1714 body => { required => 1 },
1715 doc => "indices-put-mapping",
1716 method => "PUT",
1717 parts => { index => { multi => 1 }, type => { required => 1 } },
1718 paths => [
1719 [ { index => 0, type => 2 }, "{index}", "_mapping", "{type}" ],
1720 [ { type => 1 }, "_mapping", "{type}" ],
1721 ],
1722 qs => {
1723 allow_no_indices => "boolean",
1724 expand_wildcards => "enum",
1725 filter_path => "list",
1726 ignore_unavailable => "boolean",
1727 master_timeout => "time",
1728 timeout => "time",
1729 update_all_types => "boolean",
1730 },
1731 },
1732
1733 'indices.put_settings' => {
1734 body => { required => 1 },
1735 doc => "indices-update-settings",
1736 method => "PUT",
1737 parts => { index => { multi => 1 } },
1738 paths => [
1739 [ { index => 0 }, "{index}", "_settings" ],
1740 [ {}, "_settings" ]
1741 ],
1742 qs => {
1743 allow_no_indices => "boolean",
1744 expand_wildcards => "enum",
1745 filter_path => "list",
1746 flat_settings => "boolean",
1747 ignore_unavailable => "boolean",
1748 master_timeout => "time",
1749 preserve_existing => "boolean",
1750 },
1751 },
1752
1753 'indices.put_template' => {
1754 body => { required => 1 },
1755 doc => "indices-templates",
1756 method => "PUT",
1757 parts => { name => { required => 1 } },
1758 paths => [ [ { name => 1 }, "_template", "{name}" ] ],
1759 qs => {
1760 create => "boolean",
1761 filter_path => "list",
1762 flat_settings => "boolean",
1763 master_timeout => "time",
1764 order => "number",
1765 timeout => "time",
1766 },
1767 },
1768
1769 'indices.recovery' => {
1770 doc => "indices-recovery",
1771 parts => { index => { multi => 1 } },
1772 paths => [
1773 [ { index => 0 }, "{index}", "_recovery" ],
1774 [ {}, "_recovery" ]
1775 ],
1776 qs => {
1777 active_only => "boolean",
1778 detailed => "boolean",
1779 filter_path => "list",
1780 human => "boolean",
1781 },
1782 },
1783
1784 'indices.refresh' => {
1785 doc => "indices-refresh",
1786 method => "POST",
1787 parts => { index => { multi => 1 } },
1788 paths =>
1789 [ [ { index => 0 }, "{index}", "_refresh" ], [ {}, "_refresh" ] ],
1790 qs => {
1791 allow_no_indices => "boolean",
1792 expand_wildcards => "enum",
1793 filter_path => "list",
1794 force => "boolean",
1795 ignore_unavailable => "boolean",
1796 },
1797 },
1798
1799 'indices.rollover' => {
1800 body => {},
1801 doc => "indices-rollover-index",
1802 method => "POST",
1803 parts => { alias => { required => 1 }, new_index => {} },
1804 paths => [
1805 [ { alias => 0, new_index => 2 }, "{alias}",
1806 "_rollover", "{new_index}",
1807 ],
1808 [ { alias => 0 }, "{alias}", "_rollover" ],
1809 ],
1810 qs => {
1811 filter_path => "list",
1812 master_timeout => "time",
1813 timeout => "time",
1814 wait_for_active_shards => "string",
1815 },
1816 },
1817
1818 'indices.segments' => {
1819 doc => "indices-segments",
1820 parts => { index => { multi => 1 } },
1821 paths => [
1822 [ { index => 0 }, "{index}", "_segments" ],
1823 [ {}, "_segments" ]
1824 ],
1825 qs => {
1826 allow_no_indices => "boolean",
1827 expand_wildcards => "enum",
1828 filter_path => "list",
1829 human => "boolean",
1830 ignore_unavailable => "boolean",
1831 verbose => "boolean",
1832 },
1833 },
1834
1835 'indices.shard_stores' => {
1836 doc => "indices-shards-stores",
1837 parts => { index => { multi => 1 } },
1838 paths => [
1839 [ { index => 0 }, "{index}", "_shard_stores" ],
1840 [ {}, "_shard_stores" ],
1841 ],
1842 qs => {
1843 allow_no_indices => "boolean",
1844 expand_wildcards => "enum",
1845 filter_path => "list",
1846 ignore_unavailable => "boolean",
1847 status => "list",
1848 },
1849 },
1850
1851 'indices.shrink' => {
1852 body => {},
1853 doc => "indices-shrink-index",
1854 method => "PUT",
1855 parts => { index => { required => 1 }, target => { required => 1 } },
1856 paths => [
1857 [ { index => 0, target => 2 }, "{index}", "_shrink", "{target}" ],
1858 ],
1859 qs => {
1860 filter_path => "list",
1861 master_timeout => "time",
1862 timeout => "time",
1863 wait_for_active_shards => "string",
1864 },
1865 },
1866
1867 'indices.stats' => {
1868 doc => "indices-stats",
1869 parts => { index => { multi => 1 }, metric => { multi => 1 } },
1870 paths => [
1871 [ { index => 0, metric => 2 }, "{index}", "_stats", "{metric}" ],
1872 [ { index => 0 }, "{index}", "_stats" ],
1873 [ { metric => 1 }, "_stats", "{metric}" ],
1874 [ {}, "_stats" ],
1875 ],
1876 qs => {
1877 completion_fields => "list",
1878 fielddata_fields => "list",
1879 fields => "list",
1880 filter_path => "list",
1881 groups => "list",
1882 human => "boolean",
1883 level => "enum",
1884 types => "list",
1885 },
1886 },
1887
1888 'indices.update_aliases' => {
1889 body => { required => 1 },
1890 doc => "indices-aliases",
1891 method => "POST",
1892 parts => {},
1893 paths => [ [ {}, "_aliases" ] ],
1894 qs => {
1895 filter_path => "list",
1896 master_timeout => "time",
1897 timeout => "time"
1898 },
1899 },
1900
1901 'indices.upgrade' => {
1902 doc => "indices-upgrade",
1903 method => "POST",
1904 parts => { index => { multi => 1 } },
1905 paths =>
1906 [ [ { index => 0 }, "{index}", "_upgrade" ], [ {}, "_upgrade" ] ],
1907 qs => {
1908 allow_no_indices => "boolean",
1909 expand_wildcards => "enum",
1910 filter_path => "list",
1911 ignore_unavailable => "boolean",
1912 only_ancient_segments => "boolean",
1913 wait_for_completion => "boolean",
1914 },
1915 },
1916
1917 'indices.validate_query' => {
1918 body => {},
1919 doc => "search-validate",
1920 parts => { index => { multi => 1 }, type => { multi => 1 } },
1921 paths => [
1922 [ { index => 0, type => 1 }, "{index}",
1923 "{type}", "_validate",
1924 "query",
1925 ],
1926 [ { index => 0 }, "{index}", "_validate", "query" ],
1927 [ {}, "_validate", "query" ],
1928 ],
1929 qs => {
1930 allow_no_indices => "boolean",
1931 analyze_wildcard => "boolean",
1932 analyzer => "string",
1933 default_operator => "enum",
1934 df => "string",
1935 expand_wildcards => "enum",
1936 explain => "boolean",
1937 filter_path => "list",
1938 ignore_unavailable => "boolean",
1939 lenient => "boolean",
1940 lowercase_expanded_terms => "boolean",
1941 q => "string",
1942 rewrite => "boolean",
1943 },
1944 },
1945
1946 'ingest.delete_pipeline' => {
1947 doc => "ingest",
1948 method => "DELETE",
1949 parts => { id => { required => 1 } },
1950 paths => [ [ { id => 2 }, "_ingest", "pipeline", "{id}" ] ],
1951 qs => {
1952 filter_path => "list",
1953 master_timeout => "time",
1954 timeout => "time"
1955 },
1956 },
1957
1958 'ingest.get_pipeline' => {
1959 doc => "ingest",
1960 parts => { id => {} },
1961 paths => [
1962 [ { id => 2 }, "_ingest", "pipeline", "{id}" ],
1963 [ {}, "_ingest", "pipeline" ],
1964 ],
1965 qs => { filter_path => "list", master_timeout => "time" },
1966 },
1967
1968 'ingest.put_pipeline' => {
1969 body => { required => 1 },
1970 doc => "ingest",
1971 method => "PUT",
1972 parts => { id => { required => 1 } },
1973 paths => [ [ { id => 2 }, "_ingest", "pipeline", "{id}" ] ],
1974 qs => {
1975 filter_path => "list",
1976 master_timeout => "time",
1977 timeout => "time"
1978 },
1979 },
1980
1981 'ingest.simulate' => {
1982 body => { required => 1 },
1983 doc => "ingest",
1984 parts => { id => {} },
1985 paths => [
1986 [ { id => 2 }, "_ingest", "pipeline", "{id}", "_simulate" ],
1987 [ {}, "_ingest", "pipeline", "_simulate" ],
1988 ],
1989 qs => { filter_path => "list", verbose => "boolean" },
1990 },
1991
1992 'nodes.hot_threads' => {
1993 doc => "cluster-nodes-hot-threads",
1994 parts => { node_id => { multi => 1 } },
1995 paths => [
1996 [ { node_id => 1 }, "_nodes", "{node_id}", "hot_threads" ],
1997 [ {}, "_nodes", "hot_threads" ],
1998 ],
1999 qs => {
2000 filter_path => "list",
2001 ignore_idle_threads => "boolean",
2002 interval => "time",
2003 snapshots => "number",
2004 threads => "number",
2005 timeout => "time",
2006 type => "enum",
2007 },
2008 },
2009
2010 'nodes.info' => {
2011 doc => "cluster-nodes-info",
2012 parts => { metric => { multi => 1 }, node_id => { multi => 1 } },
2013 paths => [
2014 [ { metric => 2, node_id => 1 }, "_nodes",
2015 "{node_id}", "{metric}",
2016 ],
2017 [ { metric => 1 }, "_nodes", "{metric}" ],
2018 [ { node_id => 1 }, "_nodes", "{node_id}" ],
2019 [ {}, "_nodes" ],
2020 ],
2021 qs => {
2022 filter_path => "list",
2023 flat_settings => "boolean",
2024 human => "boolean",
2025 timeout => "time",
2026 },
2027 },
2028
2029 'nodes.stats' => {
2030 doc => "cluster-nodes-stats",
2031 parts => {
2032 index_metric => { multi => 1 },
2033 metric => { multi => 1 },
2034 node_id => { multi => 1 },
2035 },
2036 paths => [
2037 [ { index_metric => 4, metric => 3, node_id => 1 },
2038 "_nodes", "{node_id}", "stats", "{metric}", "{index_metric}",
2039 ],
2040 [ { index_metric => 3, metric => 2 }, "_nodes",
2041 "stats", "{metric}",
2042 "{index_metric}",
2043 ],
2044 [ { metric => 3, node_id => 1 }, "_nodes",
2045 "{node_id}", "stats",
2046 "{metric}",
2047 ],
2048 [ { metric => 2 }, "_nodes", "stats", "{metric}" ],
2049 [ { node_id => 1 }, "_nodes", "{node_id}", "stats" ],
2050 [ {}, "_nodes", "stats" ],
2051 ],
2052 qs => {
2053 completion_fields => "list",
2054 fielddata_fields => "list",
2055 fields => "list",
2056 filter_path => "list",
2057 groups => "boolean",
2058 human => "boolean",
2059 level => "enum",
2060 timeout => "time",
2061 types => "list",
2062 },
2063 },
2064
2065 'snapshot.create' => {
2066 body => {},
2067 doc => "modules-snapshots",
2068 method => "PUT",
2069 parts => {
2070 repository => { required => 1 },
2071 snapshot => { required => 1 }
2072 },
2073 paths => [
2074 [ { repository => 1, snapshot => 2 }, "_snapshot",
2075 "{repository}", "{snapshot}",
2076 ],
2077 ],
2078 qs => {
2079 filter_path => "list",
2080 master_timeout => "time",
2081 wait_for_completion => "boolean",
2082 },
2083 },
2084
2085 'snapshot.create_repository' => {
2086 body => { required => 1 },
2087 doc => "modules-snapshots",
2088 method => "PUT",
2089 parts => { repository => { required => 1 } },
2090 paths => [ [ { repository => 1 }, "_snapshot", "{repository}" ] ],
2091 qs => {
2092 filter_path => "list",
2093 master_timeout => "time",
2094 timeout => "time",
2095 verify => "boolean",
2096 },
2097 },
2098
2099 'snapshot.delete' => {
2100 doc => "modules-snapshots",
2101 method => "DELETE",
2102 parts => {
2103 repository => { required => 1 },
2104 snapshot => { required => 1 }
2105 },
2106 paths => [
2107 [ { repository => 1, snapshot => 2 }, "_snapshot",
2108 "{repository}", "{snapshot}",
2109 ],
2110 ],
2111 qs => { filter_path => "list", master_timeout => "time" },
2112 },
2113
2114 'snapshot.delete_repository' => {
2115 doc => "modules-snapshots",
2116 method => "DELETE",
2117 parts => { repository => { multi => 1, required => 1 } },
2118 paths => [ [ { repository => 1 }, "_snapshot", "{repository}" ] ],
2119 qs => {
2120 filter_path => "list",
2121 master_timeout => "time",
2122 timeout => "time"
2123 },
2124 },
2125
2126 'snapshot.get' => {
2127 doc => "modules-snapshots",
2128 parts => {
2129 repository => { required => 1 },
2130 snapshot => { multi => 1, required => 1 },
2131 },
2132 paths => [
2133 [ { repository => 1, snapshot => 2 }, "_snapshot",
2134 "{repository}", "{snapshot}",
2135 ],
2136 ],
2137 qs => {
2138 filter_path => "list",
2139 ignore_unavailable => "boolean",
2140 master_timeout => "time",
2141 },
2142 },
2143
2144 'snapshot.get_repository' => {
2145 doc => "modules-snapshots",
2146 parts => { repository => { multi => 1 } },
2147 paths => [
2148 [ { repository => 1 }, "_snapshot", "{repository}" ],
2149 [ {}, "_snapshot" ],
2150 ],
2151 qs => {
2152 filter_path => "list",
2153 local => "boolean",
2154 master_timeout => "time"
2155 },
2156 },
2157
2158 'snapshot.restore' => {
2159 body => {},
2160 doc => "modules-snapshots",
2161 method => "POST",
2162 parts => {
2163 repository => { required => 1 },
2164 snapshot => { required => 1 }
2165 },
2166 paths => [
2167 [ { repository => 1, snapshot => 2 }, "_snapshot",
2168 "{repository}", "{snapshot}",
2169 "_restore",
2170 ],
2171 ],
2172 qs => {
2173 filter_path => "list",
2174 master_timeout => "time",
2175 wait_for_completion => "boolean",
2176 },
2177 },
2178
2179 'snapshot.status' => {
2180 doc => "modules-snapshots",
2181 parts => { repository => {}, snapshot => { multi => 1 } },
2182 paths => [
2183 [ { repository => 1, snapshot => 2 }, "_snapshot",
2184 "{repository}", "{snapshot}",
2185 "_status",
2186 ],
2187 [ { repository => 1 }, "_snapshot", "{repository}", "_status" ],
2188 [ {}, "_snapshot", "_status" ],
2189 ],
2190 qs => {
2191 filter_path => "list",
2192 ignore_unavailable => "boolean",
2193 master_timeout => "time",
2194 },
2195 },
2196
2197 'snapshot.verify_repository' => {
2198 doc => "modules-snapshots",
2199 method => "POST",
2200 parts => { repository => { required => 1 } },
2201 paths => [
2202 [ { repository => 1 }, "_snapshot", "{repository}", "_verify" ],
2203 ],
2204 qs => {
2205 filter_path => "list",
2206 master_timeout => "time",
2207 timeout => "time"
2208 },
2209 },
2210
2211 'tasks.cancel' => {
2212 doc => "tasks",
2213 method => "POST",
2214 parts => { task_id => {} },
2215 paths => [
2216 [ { task_id => 1 }, "_tasks", "{task_id}", "_cancel" ],
2217 [ {}, "_tasks", "_cancel" ],
2218 ],
2219 qs => {
2220 actions => "list",
2221 filter_path => "list",
2222 node_id => "list",
2223 parent_node => "string",
2224 parent_task => "string",
2225 },
2226 },
2227
2228 'tasks.get' => {
2229 doc => "tasks",
2230 parts => { task_id => {} },
2231 paths => [ [ { task_id => 1 }, "_tasks", "{task_id}" ] ],
2232 qs => { filter_path => "list", wait_for_completion => "boolean" },
2233 },
2234
2235 'tasks.list' => {
2236 doc => "tasks",
2237 parts => {},
2238 paths => [ [ {}, "_tasks" ] ],
2239 qs => {
2240 actions => "list",
2241 detailed => "boolean",
2242 filter_path => "list",
2243 group_by => "enum",
2244 node_id => "list",
2245 parent_node => "string",
2246 parent_task => "string",
2247 wait_for_completion => "boolean",
2248 },
2249 },
2250
2251#=== AUTOGEN - END ===
2252
2253);
2254
225513µs1400µs__PACKAGE__->_qs_init( \%API );
# spent 400µs making 1 call to Search::Elasticsearch::Role::API::_qs_init
22561180µs1;
2257
2258=pod
2259
2260=encoding UTF-8
2261
2262=head1 NAME
2263
2264Search::Elasticsearch::Client::5_0::Role::API - This class contains the spec for the Elasticsearch APIs
2265
2266=head1 VERSION
2267
2268version 5.01
2269
2270=head1 DESCRIPTION
2271
2272All of the Elasticsearch APIs are defined in this role. The example given below
2273is the definition for the L<Search::Elasticsearch::Client::5_0::Direct/index()> method:
2274
2275 'index' => {
2276 body => { required => 1 },
2277 doc => "docs-index_",
2278 method => "POST",
2279 parts => {
2280 id => {},
2281 index => { required => 1 },
2282 type => { required => 1 }
2283 },
2284 paths => [
2285 [ { id => 2, index => 0, type => 1 }, "{index}",
2286 "{type}", "{id}"
2287 ],
2288 [ { index => 0, type => 1 }, "{index}", "{type}" ],
2289 ],
2290 qs => {
2291 filter_path => "list",
2292 op_type => "enum",
2293 parent => "string",
2294 pipeline => "string",
2295 refresh => "enum",
2296 routing => "string",
2297 timeout => "time",
2298 timestamp => "time",
2299 ttl => "time",
2300 version => "number",
2301 version_type => "enum",
2302 wait_for_active_shards => "string",
2303 },
2304 },
2305
2306These definitions can be used by different L<Search::Elasticsearch::Role::Client>
2307implementations to provide distinct user interfaces.
2308
2309=head1 METHODS
2310
2311=head2 C<api()>
2312
2313 $defn = $api->api($name);
2314
2315The only method in this class is the C<api()> method which takes the name
2316of the I<action> and returns its definition. Actions in the
2317C<indices> or C<cluster> namespace use the namespace as a prefix, eg:
2318
2319 $defn = $e->api('indices.create');
2320 $defn = $e->api('cluster.node_stats');
2321
2322=head1 SEE ALSO
2323
2324=over
2325
2326=item *
2327
2328L<Search::Elasticsearch::Role::API>
2329
2330=item *
2331
2332L<Search::Elasticsearch::Client::5_0::Direct>
2333
2334=back
2335
2336=head1 AUTHOR
2337
2338Clinton Gormley <drtech@cpan.org>
2339
2340=head1 COPYRIGHT AND LICENSE
2341
2342This software is Copyright (c) 2016 by Elasticsearch BV.
2343
2344This is free software, licensed under:
2345
2346 The Apache License, Version 2.0, January 2004
2347
2348=cut
2349
23501204µs1153µs__END__