Commit Graph

404 Commits

Author SHA1 Message Date
Alexander Reelsen a3abcdc93a Consistent APIs: Get field mapping API includes 'mappings'
The get field mapping API now includes a mappings element after the index in its JSON

Added more consistent endpoint /{index}/_mapping/{type}/field/{fields}
and added endpoint /_mapping/{type}/field/{fields}
which are also used in tests

Added rest spec tests for wildcards and _all

Relates #4071

NOTE: This is not yet complete for 1.0. We need to return an empty JSON document instead
of a 404 if the field of an existing index and type is not found. However this is not
possible with the current data structure being returned. Needs to be finished for 1.0.
2014-01-14 22:42:27 +01:00
Alexander Reelsen 349a8be4fd Consistent REST API changes for GETting data
* Made GET mappings consistent, supporting
  * /{index}/_mappings/{type}
  * /{index}/_mapping/{type}
  * /_mapping/{type}
  * Added "mappings" in the JSON response to align it with other responses
* Made GET warmers consistent, support /{index}/_warmers/{type} and /_warmer, /_warner/{name}
  as well as wildcards and _all notation
* Made GET aliases consistent, support /{index}/_aliases/{name} and /_alias, /_aliases/{name}
  as well as wildcards and _all notation
* Made GET settings consistent, added /{index}/_setting/{name}, /_settings/{name}
  as well as supportings wildcards in settings name
* Returning empty JSON instead of a 404, if a specific warmer/
  setting/alias/type is missing
* Added a ton of spec tests for all of the above
* Added a couple of more integration tests for several features

Relates #4071
2014-01-14 22:33:52 +01:00
Britta Weber 411739fe3b Make PUT and DELETE consistent for _mapping, _alias and _warmer
See issue #4071

PUT options for _mapping:

Single type can now be added with

`[PUT|POST] {index|_all|*|regex|blank}/[_mapping|_mappings]/type`

and

`[PUT|POST] {index|_all|*|regex|blank}/type/[_mapping|_mappings]`

PUT options for _warmer:

PUT with a single warmer can now be done with

`[PUT|POST] {index|_all|*|prefix*|blank}/{type|_all|*|prefix*|blank}/[_warmer|_warmers]/warmer_name`

PUT options for _alias:

Single alias can now be PUT with

`[PUT|POST] {index|_all|*|prefix*|blank}/[_alias|_aliases]/alias`

DELETE options _mapping:

Several mappings can be deleted at once by defining several indices and types with

`[DELETE] /{index}/{type}`

`[DELETE] /{index}/{type}/_mapping`

`[DELETE] /{index}/_mapping/{type}`

where

`index= * | _all | glob pattern | name1, name2, …`

`type= * | _all | glob pattern | name1, name2, …`

Alternatively, the keyword `_mapings` can be used.

DELETE options for  _warmer:

Several warmers can be deleted at once by defining several indices and names with

`[DELETE] /{index}/_warmer/{type}`

where

`index= * | _all | glob pattern | name1, name2, …`

`type= * | _all | glob pattern | name1, name2, …`

Alternatively, the keyword `_warmers` can be used.

DELETE options for _alias:

Several aliases can be deleted at once by defining several indices and names with

`[DELETE] /{index}/_alias/{type}`

where

`index= * | _all | glob pattern | name1, name2, …`

`type= * | _all | glob pattern | name1, name2, …`

Alternatively, the keyword `_aliases` can be used.
2014-01-14 20:02:43 +01:00
Clinton Gormley 2c647b3a82 Revert "[SPEC] Added level param to cluster.state"
This reverts commit 06e5f3dd6f.
2014-01-13 18:07:12 +01:00
Clinton Gormley 06e5f3dd6f [SPEC] Added level param to cluster.state 2014-01-13 18:05:38 +01:00
Clinton Gormley 7779196c8a [SPEC] Updated cluster.state spec 2014-01-13 18:02:15 +01:00
Clinton Gormley b7cddea495 [SPEC] Added level param to cluster.node_stats and indices.stats 2014-01-13 17:40:27 +01:00
Simon Willnauer f2f4b72a12 Add missing closing '}' to indices.stats.json 2014-01-13 17:19:13 +01:00
Clinton Gormley b866c381d5 [TEST] Updated cluster.node_stats test 2014-01-13 17:06:29 +01:00
markharwood 2795f4e55d Standardized use of “*_length” for parameter names rather than “*_len”.
Java Builder apis drop old “len” methods in favour of new “length”
Rest APIs support both old “len: and new “length” forms using new ParseField class to a) provide compiler-checked consistency between Builder and Parser classes and
b) a common means of handling deprecated syntax in the DSL.
Documentation and rest specs only document the new “*length” forms
Closes #4083
2014-01-13 15:59:15 +00:00
Clinton Gormley ed254b56e0 [SPEC] Updated cluster.node_stats and indices.stats 2014-01-13 16:54:51 +01:00
Clinton Gormley 0916372520 Fix YAML in test/indices.open/20_multiple_indices.yaml 2014-01-13 13:17:30 +01:00
Martijn van Groningen 943b62634c Replaced the multi-field type in favour for the multi fields option that can be set on any core field.
When upgrading to ES 1.0 the existing mappings with a multi-field type automatically get replaced to a core field with the new `fields` option.

If a `multi_field` type-ed field doesn't have a main / default field, a default field will be chosen for the multi fields syntax. The new main field type
will be equal to the first `multi_field` fields' field or type string if no fields have been configured for the `multi_field` field and in both cases
the default index will not be indexed (`index=no` is set on the default field).

If a `multi_field` typed field has a default field, that field will replace the `multi_field` typed field.

Closes to #4521
2014-01-13 09:21:53 +01:00
Spencer Alger 71d77d17e1 Updated the documentation urls in the rest api spec. 2014-01-09 14:44:14 -07:00
Martijn van Groningen eb63bb259d Added `action.destructive_requires_name` that controls whether wildcard expressions and `_all` is allowed to be used for destructive operat Also the delete index api requires always an index to be specified (either concrete index, alias or wildcard expression)
Closes #4549 #4481
2014-01-09 11:36:50 +01:00
Britta Weber 216c814a7f remove default `_all` for `type` and `index` if these are missing in REST tests
If a type or path is missing in the REST test yaml file, it is
automatically replaced with _all. This makes it hard to test changes
in the api, for example adding the possibility to leave the index
blank in addition to _all and * in the uri.

closes #4657
2014-01-09 10:17:42 +01:00
Martijn van Groningen 0973b2863c Added extra rest endpoint for get settings api.
Added rest test to also test the get settings' prefix option.
2014-01-09 09:44:40 +01:00
Luca Cavanna cb3b653a55 [SPEC] added nmissing comma in cluster.node_stats api spec 2014-01-08 21:24:23 +01:00
Honza Král 6e4586fd6b [SPEC] Clarify cluster.node_stats api 2014-01-08 21:03:06 +01:00
Honza Král fe1344107c [SPEC] refactor cluster.node_info json spec to reflect clients' apis 2014-01-08 20:19:29 +01:00
Igor Motov bec6527312 Add support for flat_settings flag to all REST APIs that output settings
Closes #4140
2014-01-08 10:36:36 -05:00
Luca Cavanna 6c23ace68f Fixed open/close index api when using wildcard only
Named wildcards were not always properly replaced with proper values by PathTrie.
Delete index (curl -XDELETE localhost:9200/*) worked anyway as the named wildcard is the last path element (and even if {index} didn't get replaced with '*', the empty string would have mapped to all indices anyway). When the named wildcard wasn't the last path element (e.g. curl -XPOST localhost:29200/*/_close), the variable didn't get replaced with the current '*' value, but with the empty string, which leads to an error as empty index is not allowed by open/close index.

Closes #4564
2014-01-08 15:01:49 +01:00
Martijn van Groningen 6dc434822c Changed get index settings api to use new internal get index settings api instead of relying on the cluster state api.
The new internal get index settings api is more efficient when it comes to sending the index settings from the master to the client via the
Also the get index settings support now all the indices options.

Closes #4620
2014-01-08 13:18:57 +01:00
Alexander Reelsen ad50afbec8 Simplify usage of nodes info API
Important: This breaks backwards compatibility with 0.90

* Removed endpoints: /_cluster/nodes, /_cluster/nodes/nodeId1,nodeId2
* Disallow usage of parameters, but make required metrics part of URI
* Changed NodesInfoRequest to return everything by default
* Fixed NPE in NodesInfoResponse

Closes #4055
2014-01-08 09:46:04 +01:00
Lee Hinman 2cb40fcb17 Rename "exists" to "found" in TermVector and Get responses
- Adds the "created" field to the index action response
- Reverses Delete class' notFound to Found to avoid double negative
2014-01-07 09:47:07 -07:00
Lee Hinman d23f640cd1 Remove hard-coded "ok": true from REST responses 2014-01-07 09:27:07 -07:00
Honza Král 623e4a0fc8 [TEST] remove old tests from yaml test suite 2014-01-07 16:19:06 +01:00
Honza Král 4aeaa3bac4 [TEST] Fix yaml tests after #4542 2014-01-07 16:06:25 +01:00
Simon Willnauer 3240cc8145 Clarify options for flush request 2014-01-06 17:44:56 +01:00
Honza Král aacb51bae7 [SPEC] Bringing back the specs for _aliases 2014-01-06 17:25:15 +01:00
Martijn van Groningen 3024cc24a6 Added missing indices options to rest spec and rest actions. 2014-01-05 23:32:44 +01:00
Honza Král 8517d8954e [TEST] add name parameter to get_alias in update_alias tests
to avoid failure on older es versions since get_alias without name has been
only introduced in #4539
2014-01-02 20:04:24 +01:00
Honza Král 076a24af14 [TEST] split tests with parent to pre/post 1.0 in the yaml test suite
See #4506 for details
2014-01-02 20:04:24 +01:00
Honza Král d5efb54785 [TEST] Split delete by query tests pre-1.0 and post-1.0
See #4074 for details
2014-01-02 20:04:24 +01:00
Martijn van Groningen aa548f5148 Remove GET `_aliases` api in favour for GET `_alias` api
Currently there are two get aliases apis that both have the same functionality, but have a different response structure. The reason for having 2 apis is historic.

The GET _alias api was added in 0.90.x and is more efficient since it only sends the needed alias data from the cluster state between the master node and the node that received the request. In the GET _aliases api the complete cluster state is send to the node that received the request and then the right information is filtered out and send back to the client.

The GET _aliases api should be removed in favour for the alias api

Closes to #4539
2014-01-02 13:56:11 +01:00
Martijn van Groningen f4bf0d5112 Replaced `ignore_indices` with `ignore_unavailable`, `expand_wildcards` and `allow_no_indices`.
* `ignore_unavailable` - Controls whether to ignore if any specified indices are unavailable, this includes indices that don't exist or closed indices. Either `true` or `false` can be specified.
* `allow_no_indices` - Controls whether to fail if a wildcard indices expressions results into no concrete indices. Either `true` or `false` can be specified. For example if the wildcard expression `foo*` is specified and no indices are available that start with `foo` then depending on this setting the request will fail. This setting is also applicable when `_all`, `*` or no index has been specified.
* `expand_wildcards` - Controls to what kind of concrete indices wildcard indices expression expand to. If `open` is specified then the wildcard expression if expanded to only open indices and if `closed` is specified then the wildcard expression if expanded only to closed indices. Also both values (`open,closed`) can be specified to expand to all indices.

Closes to #4436
2014-01-02 12:19:45 +01:00
Martijn van Groningen a7bb28c0e7 Made single shards APIs fail if routing is configured to be required in the mapping.
This change make single shard requests fail when no routing is specified and routing has been configured to be required in the mapping. Thi

 Closes #4506
2014-01-02 10:47:53 +01:00
Martijn van Groningen bb01995722 Made APIs consistently accept a query in the request body's `query` field.
The following APIs now accept the query in a top level `query` field like:
* delete_by_query
* validate_query
* count

These APIs used to accept the query directly in the request body which was inconsistent with the search and explain APIs. For this reason t

Closes #4074
2014-01-02 10:06:01 +01:00
Simon Willnauer fa4315005b Allow for version >= 0.90.10 2013-12-23 12:07:05 +01:00
Clinton Gormley b8aba737f4 [TEST] Added skip clause to analyze API with text format.
No longer supported in 1.0.0.RC1
2013-12-11 22:43:18 +00:00
Clinton Gormley 13d9d17155 Update README with full command to generate spec 2013-12-11 18:33:45 +00:00
Boaz Leskes ea4a908bdb Added field mapping API tests which use wild cards
See: https://github.com/elasticsearch/elasticsearch/issues/4367
2013-12-11 15:00:33 +01:00
Karel Minarik ccbb0e5c97 [UTIL] Fixed an error for the `--output` parameter in `thor api:spec:generate` 2013-12-05 17:36:54 +01:00
Honza Král 2d29bb7a63 [API] bulk request now supports timeout, see #4220 2013-11-25 11:53:32 +01:00
Clinton Gormley 381436843d [TEST] Fixed suggestion tests for 1.0.0.Beta1
Results order has changed because the standard analyzer no
longer removes stopwords
2013-11-07 14:26:22 +01:00
Clinton Gormley 602c3b6782 [TEST] Renamed _percolator to .percolator 2013-11-07 14:25:24 +01:00
Clinton Gormley c579164a88 [TEST] Fixed bad indentation on realtime_refresh tests 2013-11-05 13:28:47 +01:00
Karel Minarik e051c8a663 [TEST] Create the index with `number_of_replicas: 0` for "Realtime Refresh" tests 2013-11-05 11:24:31 +01:00
Karel Minarik afcc9d52ab [API] Changed `fields` parameter to required in "Get Field Mapping" API
Also reworded `include_defaults` description.
2013-11-05 11:17:59 +01:00
Karel Minarik da9da0c7a2 [TEST] Removed the `skip` in the common test "setup" definition
Until the issue with skipping tests en masse is resolved, let's use individual `skip` statements,
as supported in current YAML runners.
2013-11-05 10:05:34 +01:00
Karel Minarik e49683a5ee [TEST] Fixed incorrect `skip` behaviour in the "Get Field Mapping" API tests 2013-11-05 09:47:02 +01:00
Clinton Gormley 57894b70f4 [TEST] Test for get_field_mapping was calling get_mapping 2013-11-02 13:21:06 +01:00
spenceralger 5ef83b6c9a Updated "version_type" to match delete.json 2013-10-30 17:26:32 -07:00
spenceralger d85e264d03 Fixed method name, and the doc url 2013-10-30 14:16:55 -07:00
Boaz Leskes ebdde4ea46 Added spec + tests for the GetFieldMapping API
Introduced in https://github.com/elasticsearch/elasticsearch/issues/3941
2013-10-30 19:19:35 +01:00
Clinton Gormley cf795cfe4c [TEST] Corrected YAML syntax in mget/70_source_filtering
and broke it up into multiple tests which are easier to debug
2013-10-26 13:09:37 +02:00
Zachary Tong e5daab0b6b Remove unescessary newline continuation
Newline continuation causes some yaml parsers to interpret the
hash as a string instead of a proper hash
2013-10-25 14:14:12 -04:00
spenceralger 1cfe0f32c6 Added URL to indices.get_template to match previous change
Since the name is no longer required, added a supporting path to the paths array.
2013-10-23 21:14:02 -07:00
Boaz Leskes d202d3386a Added brackets to a do command. 2013-10-11 12:29:44 +02:00
Boaz Leskes 4a91a243b1 Normalizing the source filtering params of get_source with the rest of the API 2013-10-11 12:29:17 +02:00
Zachary Tong 6e2deaa4b7 Get all templates not available before 0.90.3 2013-10-09 13:11:00 +02:00
Boaz Leskes 87df522786 updated source filtering tests and spec
Fixed id tests to be strings.
Changed the _source_* param of get_source as they have changed in core.
2013-10-08 18:18:20 +02:00
Boaz Leskes a04bce96c7 The name parameter of indices.get_template is not required. 2013-10-08 18:16:27 +02:00
Clinton Gormley e791f463b1 [API] cluster.health wait_for_nodes is a string, not a number 2013-10-01 19:28:46 +02:00
spenceralger a6c9150427 Reverse course
See comment [here](2dd7f4f652 (commitcomment-4189612))
2013-09-26 09:52:23 -07:00
spenceralger e7465fee87 Added path to exist, supporting optional "type" part
Since the type is an optional part, there needs to be a path that can be used without it.
2013-09-25 20:03:28 -07:00
Clinton Gormley a958d5a63d [TEST] In the open indices test, wait for yellow after opening 2013-09-25 19:29:16 +02:00
Clinton Gormley 7d6869e149 [TEST] single alias APIs not supported before 0.90.1 2013-09-25 18:59:12 +02:00
Clinton Gormley 8e9a71341e [TEST] get_source not supported before 0.90.1 2013-09-25 18:59:12 +02:00
Honza Kral 559d284f41 [API] formatting issues 2013-09-25 14:08:18 +02:00
Clinton Gormley e283e0dc38 [TEST] Fixed the delete_template test so that it works for 0.90.* 2013-09-25 13:54:08 +02:00
Clinton Gormley 766d6e60ea [TEST] The get_mapping change in format is in master, not 0.90.* 2013-09-25 13:39:58 +02:00
Clinton Gormley 8a4d668227 Percolation results have changed in master 2013-09-23 13:53:45 +02:00
Clinton Gormley be8fad31cf The get_mapping tests were the wrong way around 2013-09-23 13:53:32 +02:00
Clinton Gormley a78781cdc6 [API] Added _source,_source_include,_source_exclude to
* explain
* get
* mget
* search
* get_source
2013-09-23 13:23:25 +02:00
Clinton Gormley 653ae20603 Added the clear_scroll spec 2013-09-20 22:21:26 +02:00
Clinton Gormley e0adae6497 completion_fields and field_data fields not support in node stats yet.
See https://github.com/elasticsearch/elasticsearch/issues/3746
2013-09-20 14:15:08 +02:00
Clinton Gormley 36b489cbc2 Added completion stats to cluster.node_stats and indices.stats 2013-09-20 13:26:04 +02:00
Spencer Alger 13719a4c2e removed some spaces that cause my yaml parser to choke 2013-09-18 08:54:17 -07:00
Clinton Gormley 5a31353fb0 Updated the test README to allow multiple test sections and an initial setup section 2013-09-18 15:54:58 +02:00
Clinton Gormley e957aa3364 Changed the get_mapping test to handle versions correctly 2013-09-18 15:29:40 +02:00
Clinton Gormley 1eed74c9be Moved get-missing template tests into their own file 2013-09-18 15:29:21 +02:00
Clinton Gormley 853b661789 Removed the regression tests for aliases - missing index etc
should be caught by the client before it hits ES
2013-09-18 15:28:51 +02:00
Clinton Gormley 0ff03b5652 Fixed the skip range on percolator tests 2013-09-17 14:28:26 +02:00
Clinton Gormley f3e69a150d Fixed put_template test to work with 0.90.3 onwards, where
a missing template now throws a 404
2013-09-17 14:28:14 +02:00
Clinton Gormley 59ca459b1c Fixed indices.open test - need to wait for shards to be allocated
before trying to close the index
2013-09-17 14:16:18 +02:00
Clinton Gormley 1279a29ee3 Explain returns a 1, not 1.0 2013-09-16 20:56:59 +02:00
Clinton Gormley e0e4b6b4dc Rename weird-index to start with test- so that it gets cleaned up 2013-09-16 20:56:48 +02:00
Clinton Gormley de4a84ccee Scroll test was missing an index - fails when other indices present 2013-09-16 20:56:32 +02:00
Clinton Gormley 3011201a51 Fixed indentation on an analyzer test 2013-09-16 20:56:12 +02:00
Karel Minarik 81ffa94937 Added an example of test `setup` into the `indices.analyze` API 2013-09-12 10:27:46 +02:00
Karel Minarik 397235e2f2 Changed the `ignore_missing` client parameter to `ignore: 404`
This should make easier any potential expansion such as:

    client.update('index', 'type', 41, {...}, ignore: 409

Also restructured and renamed the test suite a bit as part of the commit.

---

This reverts commit 0b142cc8812d8d090e48ea0ad89c007767870b91, "Removed client-specific `ignore_missing` parameter".
2013-09-09 23:36:45 +02:00
Karel Minarik 6cfbd2f7c4 Removed the incorrect info about `_all` default for index in `indices.get_mapping` API 2013-09-09 23:36:45 +02:00
Karel Minarik cb4b04e49f Added tests for default document type in `get` and `get_source` APIs 2013-09-09 23:36:45 +02:00
Karel Minarik e784cff1b0 Revert "Changed the missing `type` to `_all` in "Get Source" test"
This reverts commit f834a8b9a18739ba97eba592be98ce6804082d37.
2013-09-09 23:36:45 +02:00
Karel Minarik bd9befbc80 Revert "Changed the missing `type` to `_all` in "Get" test"
This reverts commit c7b376a4222d68788c59ffefbaaeae33d70536b8.
2013-09-09 23:36:45 +02:00
Karel Minarik d0a282727f Renamed the "All indices" test for `_search` API to "Default index"
This reverts commit 51713399e943412866e95cf94f341cb4625ef831.
2013-09-09 23:36:44 +02:00
Karel Minarik 62a489b07b Added test for client-side default document type in `exists` API
This reverts commit f6f037e6b15b51023c6ca45adbd394fd16e714f1.
2013-09-09 23:36:44 +02:00
Karel Minarik 4e0396768b Improved and fixed "Get Mapping" tests
* Fixed error in `skip` explanation for "get type" test
* Separated the tests for getting index/type mapping

I vote for removing the "get type" test entirely, since it just tests ancient versions.
2013-09-09 23:36:44 +02:00
Karel Minarik 690151516d Fixed incorrect test names in "Update" fields / meta-fields tests 2013-09-09 23:36:44 +02:00