Commit Graph

1056 Commits

Author SHA1 Message Date
James Rodewig c04fd6e301 [DOCS] Remove 'closed data stream' reference 2021-05-27 16:07:09 -04:00
James Rodewig 5729bb8d49
[DOCS] Update alias references (#73427)
Updates several `index aliases` references to `aliases`.
2021-05-27 16:00:57 -04:00
James Rodewig 39a0314d30
[DOCS] Update alias xrefs (#73380)
Updates several internal 'alias' xrefs to point to the aliases guide rather than
API docs.
2021-05-25 16:19:00 -04:00
Julie Tibshirani f85a9dddb9
Support field collapsing with search_after (#73023)
This change adds support for using `search_after` with field collapsing. When
using these in conjunction, the same field must be used for both sorting and
field collapsing. This helps keep the behavior simple and predictable.
Otherwise it would be possible for a group to appear on multiple pages of
results.

Currently search after is handled directly in `CollapsingTopDocsCollector`. As
a follow-up, we could generalize the logic and move support to the Lucene
grouping framework.

Closes #53115.
2021-05-19 14:21:18 -07:00
James Rodewig eeb1098874
[DOCS] Use query parameters in search API example (#73158)
The current search API documentation doesn't include any examples of query
parameter usage.

This updates the docs to include a simple syntax example using the `from` and
`size` query parameters.
2021-05-17 12:18:50 -04:00
markharwood dbc37f9f6e
TermsEnum api - allow null search strings (#73144)
Allow null search strings (matches all)

Closes #73141
2021-05-17 15:54:53 +01:00
Seth Michael Larson ff406a88cc
Rename 'termsenum' API to 'terms_enum' for better readability 2021-05-17 08:08:06 -05:00
James Rodewig 34d5f6c246
[DOCS] Consolidate `routing` parameter definitions (#73107)
Combines duplicate definitions for the `routing` parameter.
2021-05-14 12:27:19 -04:00
markharwood ebb113a7e3
Add "search_after" support to new termsEnum api (#72933)
Adds an optional parameter to the _terms_enum request designed to allow paging.
The last term from a previous result can be passed as the search_after parameter to a subsequent request, meaning only terms after the given term (but still matching the provided string prefix) are returned
Relates to #72910
2021-05-14 15:00:21 +01:00
James Rodewig 8ec893a425
[DOCS] Change field alias anchor (#73043) 2021-05-13 09:32:36 -04:00
James Rodewig 7909d3bd77
[DOCS] Fix JSON spec link for terms enum API (#72996) 2021-05-12 12:57:56 -04:00
James Rodewig 8dddca77aa
[DOCS] Remove and redirect frozen index overview content (#72990)
Changes:

* Removes and adds redirects for the frozen indices [overview][0], [best
  practices][1], [search][2], and [monitoring][3] pages.
* Removes glossary terms related to frozen indices.
* Updates several xrefs to point to the freeze index API docs.

Relates to elastic/elasticsearch#72946 and elastic/elasticsearch#70192.

[0]: https://www.elastic.co/guide/en/elasticsearch/reference/7.12/frozen-indices.html
[1]: https://www.elastic.co/guide/en/elasticsearch/reference/master/best_practices.html
[2]: https://www.elastic.co/guide/en/elasticsearch/reference/master/searching_a_frozen_index.html
[3]: https://www.elastic.co/guide/en/elasticsearch/reference/master/monitoring_frozen_indices.html
2021-05-12 12:54:20 -04:00
markharwood 2dca93fbda
Links new TermsEnum api into docs. Remove superfluous “API” from page title. (#72992)
Closes #72982
2021-05-12 16:21:36 +01:00
markharwood 73e0662f09
New TermsEnum API for discovering terms in the index. (#66452)
New api designed for use by apps like Kibana for auto-complete use cases.
A search string is supplied which is used as prefix for matching terms found in a given field in the index.
Supported field types are keyword, constant_keyword and flattened.
A timeout can limit the amount of time spent looking for matches (default 1s) and an `index_filter` query can limit indices e.g. those in the hot or warm tier by querying the `_tier` field

Closes #59137
2021-05-06 10:45:37 +01:00
James Rodewig 0edb8f4708
[DOCS] Document missing script APIs (#72175)
Documents the following APIs:

* [Delete stored script][0]
* [Get stored script][1]
* [Get script contexts][2]
* [Get script languages][3]

[0]: https://github.com/elastic/elasticsearch/blob/master/rest-api-spec/src/main/resources/rest-api-spec/api/delete_script.json
[1]: https://github.com/elastic/elasticsearch/blob/master/rest-api-spec/src/main/resources/rest-api-spec/api/get_script.json
[2]: https://github.com/elastic/elasticsearch/blob/master/rest-api-spec/src/main/resources/rest-api-spec/api/get_script_context.json
[3]: https://github.com/elastic/elasticsearch/blob/master/rest-api-spec/src/main/resources/rest-api-spec/api/get_script_languages.json
2021-05-04 11:03:30 -04:00
James Rodewig 84eebbbdd0 [DOCS] Decrement 'Search your data' headings 2021-04-28 11:37:57 -04:00
Wylie Conlon 15806b648b
[DOCS] Clarify `timeout` and `terminate_after` parameters (#71713)
Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
2021-04-23 09:26:21 -04:00
James Rodewig 3f2eb32afc
[DOCS] Sync EQL docs with `fields` param updates (#72008) 2021-04-21 09:13:27 -04:00
Adam Locke 6dfd92c46f
[DOCS] Focus retrieving selected fields on fields parameter (#71506)
* [DOCS] Focus retrieving selected fields on fields parameter

* Incorporating changes from reviews

* Adding clarifications from review feedback

* Slight wording revisions.

* Clarify language around format parameter and move text out of callout.
2021-04-20 15:11:35 -04:00
James Rodewig c5a2f9ed9c [DOCS] Remove beta admon for runtime fields 2021-04-19 09:35:44 -04:00
James Rodewig f9c5f55c4b
[DOCS] Document create stored script API (#71493) 2021-04-19 09:19:12 -04:00
James Rodewig 07fade1d27
[DOCS] EQL/SQL: Document `runtime_fields` parameter (#71487) 2021-04-19 09:15:12 -04:00
Nik Everett 0623b03170
Fit runtime field on line (#71470)
This shrinks a runtime field definition so that it fits on the screen
without scrolling. It also converts the doc into a test so we can be
sure it continues to work.

Relates to #69291
2021-04-12 18:15:44 -04:00
James Rodewig 44922f6b3d [DOCS] Fix search template label 2021-04-08 13:14:10 -04:00
Nik Everett 6a1220e7f3
Convert metric aggs docs runtime fields (#71260)
This replaces the `script` docs for bucket aggregations with runtime
fields. We expect runtime fields to be nicer to work with because you
can also fetch them or filter on them. We expect them to be faster
because their don't need this sort of `instanceof` tree:
a92a647b9f/server/src/main/java/org/elasticsearch/search/aggregations/support/values/ScriptDoubleValues.java (L42)

Relates to #69291

Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
Co-authored-by: Adam Locke <adam.locke@elastic.co>
2021-04-05 13:08:13 -04:00
Julie Tibshirani d02df3f3fe
Remove the beta flag from 'fields' option. (#71130)
Now that we've addressed the open issues, the 'fields' option can be considered GA.

Relates to #60985.
2021-03-31 10:00:42 -07:00
James Rodewig 693807a6d3
[DOCS] Fix double spaces (#71082) 2021-03-31 09:57:47 -04:00
Jim Ferenczi fa88a46b9c
Expose if a field is a metadata field in the field capabilities response (#69977)
This change exposes for each field in the _field_caps response if the field is a metadata field.
This is needed for consumers of this API that want to filter these fields. Currently ML keeps a static list
and QL checks that the family type starts with `_`. In order to ease the addition of new metadata fields, this
change reworks the strategy in this solution and now only checks for the new flag.
Note that the new flag is also applied at the coordinator level in a best-effort to apply the logic on older nodes
in a mixed-version cluster.
2021-03-30 12:13:03 +02:00
Adam Locke 184cb449cc
[DOCS] Clarify language for supported APIs with CCS and older clusters (#70734)
* [DOCS] Clarify supported features for CCS.

* Clarify text and add subsection with title.

* Moving APIs to supported API section and paring down text.
2021-03-25 13:08:34 -04:00
Nhat Nguyen 5bb440cdca
Move point in time to server (#70704)
This change moves the implementation of point in time to the server package.
2021-03-24 14:29:20 -04:00
Nhat Nguyen 8b5aa84647
Allow format sort values of date fields (#70357)
If a search after request targets multiple indices and some of its sort 
field has type `date` in one index but `date_nanos` in other indices,
then Elasticsearch won't interpret the search_after parameter correctly
in every target index. The sort value of a date field by default is a
long of milliseconds since the epoch while a date_nanos field is a long
of nanoseconds.

This commit introduces the `format` parameter in the sort field so a 
sort value of a date or date_nanos will be formatted using a date format
in a search response.

The below example illustrates how to use this new parameter.

```js
{
    "query": {
        "match_all": {}
    },
    "sort": [
        {
            "timestamp": { 
                "order": "asc",
                "format": "strict_date_optional_time_nanos"
           }
        }
    ]
}
```

```js
{
    "query": {
        "match_all": {}
    },
    "sort": [
        {
            "timestamp": { 
                "order": "asc",
                "format": "strict_date_optional_time_nanos"
            }
        }
    ],
    "search_after": [
        "2015-01-01T12:10:30.123456789Z" // in `strict_date_optional_time_nanos` format
    ]
}
```

Closes #69192
2021-03-16 21:27:51 -04:00
István Zoltán Szabó fead5bbb97
[DOCS] Fixes typo in async search API docs. (#70448) 2021-03-16 14:36:12 +01:00
Yang Wang 4c090aeeb4
Improve user check for resource sharing and its documentation (#69844)
The user check when accessing shared resources is improved to be more accurate. 
Also add documentation about how it works and its limitations.
2021-03-10 21:55:50 +11:00
James Rodewig e432934e82
[DOCS] Document PIT security for aliases (#69572) 2021-03-04 08:42:42 -05:00
James Rodewig 3c70b0e3d0
[DOCS] Add xref for runtime fields (#69738) 2021-03-01 16:14:23 -05:00
James Rodewig 783769d8d9
[DOCS] Add `fields` parameter to EQL search API (#69634) 2021-03-01 12:00:27 -05:00
James Rodewig e4962994ff
[DOCS] Remove performance warning for script fields (#69309) 2021-02-22 10:05:49 -05:00
James Rodewig 31fc59efdf
[DOCS] Fix capitalization for Query DSL (#69236) 2021-02-18 18:57:19 -05:00
Jim Ferenczi ab7dd46f9f
Add automatic tiebreaker for search requests that use a PIT (#68833)
This PR adds the special `_shard_doc` sort tiebreaker automatically to any
search requests that use a PIT. Adding the tiebreaker ensures that any
sorted query can be paginated consistently within a PIT.

Closes #56828
2021-02-17 17:37:52 +01:00
James Rodewig 9b88ae92e6
[DOCS] Fix typos for duplicate words (#69125) 2021-02-17 10:34:20 -05:00
Jim Ferenczi f67185f746
Add a cluster privilege to cancel tasks and delete async searches (#68679)
This change adds a new cluster privilege cancel_task that allows to:

Cancel running tasks (_tasks/_cancel).
Cancel and delete async searches.
Today the 'manage' cluster privilege is required to cancel tasks and
to delete async searches when security features are enabled.
This new focused privilege allows to handle tasks and searches only.

The change also adds the privilege to the internal 'kibana_system'
and '_async_search' roles. They both need to be able to cancel tasks
and delete async searches.

Relates #67965
2021-02-16 10:56:17 +01:00
Marios Trivyzas f9af60bf69
Add query param to limit highlighting to specified length (#67325)
Add a `max_analyzed_offset` query parameter to allow users
to limit the highlighting of text fields to a value less than or equal to the
`index.highlight.max_analyzed_offset`, thus avoiding an exception when
the length of the text field exceeds the limit. The highlighting still takes place,
but stops at the length defined by the new parameter.

Closes: #52155
2021-02-16 09:25:45 +01:00
Christoph Büscher 3f267ad659
Add runtime field section to Field Capabilities API (#68904)
Currently runtime fields from search requests don't appear in the output of the
field capabilities API, but some consumer of runtime fields would like to see
runtime section just like they are defined in search requests reflected and
merged into the field capabilities output.
This change adds parsing of a "runtime_mappings" section equivallent to the one
on search requests to the `_field_caps` endpoint, passes this section down to
the shard level where any runtime fields defined here overwrite the mapping of
the targetet indices.

Closes #68117
2021-02-11 16:20:18 +01:00
Igor Motov 0bbc6addd9
Revert "Remove aggregation's postCollect phase (#68615)
This partially reverts #64016 and  and adds #67839 and adds
additional tests that would have caught issues with the changes
in #64016. It's mostly Nik's code, I am just cleaning things up
a bit.

Co-authored-by: Nik Everett <nik9000@gmail.com>
2021-02-10 19:12:50 -05:00
Christoph Büscher 8fff763148
[Docs] Add nested fields handling in fields API (#68657)
This change adds a paragraph on the different response format for nested fields
in the fields API and adds an example snippet.

Related to #63709
2021-02-09 18:09:58 +01:00
James Rodewig c8fd4c5460
[DOCS] Add collapsible sections to multi search API docs (#68695)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-02-08 13:37:21 -05:00
James Rodewig b428743f02
[DOCS] Fix caps for search template API docs (#68696) 2021-02-08 13:24:02 -05:00
bellengao 4950bc4969
[DOCS] Format the multi search api doc (#68621) 2021-02-08 12:28:31 -05:00
James Rodewig a5feaf978d
[DOCS] Add security privileges to search API docs (#68009) 2021-02-03 16:30:51 -05:00
Adam Locke 5de8613c62
[DOCS] Add links to ESS for setting up remote clusters on cloud. (#68401) 2021-02-02 14:32:54 -05:00