Commit Graph

1192 Commits

Author SHA1 Message Date
debadair 777598d602
[DOCS] Remove redirect pages (#88738)
* [DOCS] Remove manual redirects

* [DOCS] Removed refs to modules-discovery-hosts-providers

* [DOCS] Fixed broken internal refs

* Fixing bad cross links in ES book, and adding redirects.asciidoc[] back into docs/reference/index.asciidoc.

* Update docs/reference/search/point-in-time-api.asciidoc

Co-authored-by: James Rodewig <james.rodewig@elastic.co>

* Update docs/reference/setup/restart-cluster.asciidoc

Co-authored-by: James Rodewig <james.rodewig@elastic.co>

* Update docs/reference/sql/endpoints/translate.asciidoc

Co-authored-by: James Rodewig <james.rodewig@elastic.co>

* Update docs/reference/snapshot-restore/restore-snapshot.asciidoc

Co-authored-by: James Rodewig <james.rodewig@elastic.co>

* Update repository-azure.asciidoc

* Update node-tool.asciidoc

* Update repository-azure.asciidoc

---------

Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Amy Jonsson <amy.jonsson@elastic.co>
Co-authored-by: James Rodewig <james.rodewig@elastic.co>
2023-05-24 12:32:46 +01:00
Mayya Sharipova d5895087ef
Docs: Knn doesn't support ccs_minimize_roundtrips (#96222)
Add a note that approximate knn search doesn't support the
parameter ccs_minimize_roundtrips in CCS search.

Relates to #88694
2023-05-23 12:59:55 -04:00
Abdon Pijpelink 32d764cce7
[DOCS] Fix small typo (#96242) 2023-05-23 15:47:43 +02:00
Abdon Pijpelink 44796f7be0
[DOCS] Update CCS compatibility matrix for 8.9 (#96277) 2023-05-23 15:46:48 +02:00
István Zoltán Szabó 59ee140d17
[DOCS] Removes metadata tags from ELSER tutorial. (#96200) 2023-05-17 16:25:58 +02:00
István Zoltán Szabó e0a4edc46d
[DOCS] Adds example of semantic search with ELSER (#95992)
Co-authored-by: David Roberts <dave.roberts@elastic.co>
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
2023-05-15 14:18:33 +02:00
Saarika Bhasi 7d418ef61a
[Docs] Adds mustache dependency search templates (#95118)
* Adds Mustache dependency in Search template
* Adds more Mustache examples with Search template

Co-authored-by: T. Scot Clausing <tsclausing@gmail.com>

* Update docs/reference/search/search-your-data/search-template.asciidoc

Co-authored-by: T. Scot Clausing <tsclausing@gmail.com>

* Adds examples for search templates

* Copy changes from PR suggestions and modify examples

* Minor edits

* Re-wording

* Added Suggestion: re-structure docs to align with mustache manual

* Fix CI checks

* Feedback: Remove gradle dependency

* Remove params from examples, removed pretty, minor refractoring

* Minor rewording variable description

---------

Co-authored-by: T. Scot Clausing <tsclausing@gmail.com>
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
2023-05-12 10:57:52 -04:00
Jack Conradson 24c600748a
Add initial documentation for RRF (#95687)
This is a follow up to (#93396) that adds documentation for RRF including an example with a 
breakdown of the RRF formula.
2023-05-11 14:51:49 -07:00
Akib Rhast 5a148d3d3f
Update term-suggest.asciidoc (#86780)
* Update term-suggest.asciidoc

It is really easy to miss the fact, that that's the default setting, since it is not highlighted or called out in anyway

* Apply review suggestion

---------

Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
2023-05-09 12:23:45 +02:00
Abdon Pijpelink f2d9a3fbca
[DOCS] Fix 'shards_size' typo (#95696)
* [DOCS] Fix 'shards_size' typo

* Second occurrence of 'shards_size'
2023-05-01 15:24:43 +02:00
Martijn van Groningen 49e8ee4269
Remove remaining tsdb tech preview labels (#95563)
Remove tech preview label from a number of tsdb settings and mapping attributes.
2023-04-26 12:11:03 +02:00
Jack Conradson 5314e5dd55
Add support for Reciprocal Rank Fusion to the search API (#93396)
This change at a high level adds global ranking on the coordinating node at the end of query reduction 
prior to the fetch phase. Individual rank methods are defined in plugins.

The first rank plugin added as part of this change is reciprocal rank fusion (RRF). RRF uses a relatively 
simple formula for merging 1...n results sets together with sum(1/(k+d)) where k is a ranking constant 
and d is a document's scored position within a result set from a query.
2023-04-24 15:07:34 -07:00
Matthias Wilhelm 9fdb857010
Update field-caps.asciidoc to add information about `include_unmapped` (#94888)
- Adding context why `include_unmapped` doesn't return results for fields that are not mapped in any index
2023-04-11 09:34:49 +02:00
István Zoltán Szabó f350159e32
[DOCS] Creates page for ELSER semantic search docs (#95072)
* [DOCS] Creates page for ELSER semantic search docs.
2023-04-06 13:43:16 +02:00
Ten Bradley d5a33e439c
Update search-your-data.asciidoc (#94878)
Minor typo `hit.hits` => `hits.hits`
2023-03-31 10:49:26 +01:00
Benjamin Trent f23b906891
Add new `similarity` field to `knn` clause in `_search` (#94828)
This adds a new parameter to `knn` that allows filtering nearest neighbor results that are outside a given similarity.

`num_candidates` and `k` are still required as this controls the nearest-neighbor vector search accuracy and exploration. For each shard the query will search `num_candidates` and only keep those that are within the provided `similarity` boundary, and then finally reduce to only the global top `k` as normal.

For example, when using the `l2_norm` indexed similarity value, this could be considered a `radius` post-filter on `knn`.

relates to: https://github.com/elastic/elasticsearch/issues/84929 && https://github.com/elastic/elasticsearch/pull/93574
2023-03-28 15:29:01 -04:00
Abdon Pijpelink 4a93dba806
[DOCS] Fix figure references (#94583) 2023-03-21 14:32:33 +01:00
Christoph Büscher d8021360ff
Enable `_terms_enum` on `ip` fields (#94322)
The _terms_enum API currently does not support ip fields. However,
type-ahead-like completion is useful for UI purposes.
This change adds the ability to query ip fields via the _terms_enum API by
leveraging the terms enumeration available when doc_values are enabled on the
field, which is the default. In order to make prefix filtering fast, we
internally create a fast prefix automaton from the user-supplied prefix that
gets intersected with the shards terms enumeration, similar to what we do for
keyword fields already.

Closes #89933
2023-03-07 19:26:20 +01:00
iamthinh a4ee8f4a34
Update profile.asciidoc (#92656)
* Update profile.asciidoc

Fix small typo

* Update docs/reference/search/profile.asciidoc

Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>

---------

Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>
2023-02-27 09:54:03 +01:00
David Roberts ee3f51a7bb
[ML] Make text_embedding query vector builder experimental for first release (#93979)
The text_embedding query vector builder that can be used with
KNN search to deliver a semantic search solution will be experimental
for its first release.
2023-02-22 09:29:23 +00:00
Christoph Büscher edc7a6171c
Enable _terms_enum API for version fields (#93839)
The _terms_enum API currently only supports the keyword, constant_keyword 
and flattened field type. This change adds support for the `version` field type
that sorts according to the semantic versioning definition.

Closes #83403
2023-02-21 14:03:12 +01:00
Alan Woodward 639eab0549
Remove force_source option for highlighting (#93193)
This was only needed because the percolator uses a MemoryIndex which did
not support stored fields, and so when it ran a highlighting phase it needed to
force it to read from source. MemoryIndex added stored fields support in
lucene 9.5, so we can remove this internal parameter.

The parameter remains available, but deprecated, via the rest layer, and no
longer has any effect.
2023-02-21 09:51:28 +00:00
István Zoltán Szabó 4d117c5add
[DOCS] Adds semantic search section to kNN search page (#93782)
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
2023-02-15 11:44:41 +01:00
Abdon Pijpelink 1fca7f6ab9
[DOCS] Mention search_after in PIT docs (#93627) 2023-02-10 10:40:03 +01:00
István Zoltán Szabó c08c16e311
[DOCS] Removes semantic search reference docs (#93500) 2023-02-06 11:00:25 +01:00
Benjamin Trent 7f9f3bcd30
Add new query_vector_builder option to knn search clause (#93331)
This adds a new option to the knn search clause called query_vector_builder. This is a pluggable configuration that allows the query_vector created or retrieved.
2023-02-01 13:31:46 -05:00
Abdon Pijpelink bfc52d576c
[DOCS] Update CCS compatibility matrix for 8.7 (#93172) 2023-01-24 10:19:35 +01:00
Kush 35da7dca72
Fix questions under how highlighters work (#92922) 2023-01-16 10:43:23 +01:00
Benjamin Trent a46e532cda
Allow more than one KNN search clause (#92118)
It makes sense to allow more than one KNN search clause per individual search request. It may be that different documents have separate vector spaces or that a single doc is index with more than one vector space. In both of these scenarios, users may want to retrieve a resulting set that takes into account all their indexed vector spaces. 

A prime example here would be searching a semantic text embedding along with searching an image embedding. 


closes https://github.com/elastic/elasticsearch/issues/91187
2023-01-12 11:35:50 -05:00
Craig Taverner e1d2d358f9
Improve docs for geo completion precision param (#92688)
Improve documentation around precision of geohash when used in
suggester completion matches of type `geo`.
2023-01-05 11:58:04 +01:00
iamthinh a94036faf0
Update profile.asciidoc (#92655)
Fix small typo
2023-01-04 12:22:01 +01:00
Abdon Pijpelink 84326b1b82
Fixes typo in knn search page (#91898) 2022-11-24 16:35:44 +01:00
David Kyle 751dc244f1
[ML] Rename semantic search input parameter (#91787)
Formerly `query_string` now `model_text`
2022-11-23 13:03:43 +00:00
Olivier Cavadenti 7e9ce33e84
Instrumenting Weight#count in ProfileWeight (#85656)
Start instrumenting Weight#count function in ProfileWeight because we start to use it to compute total hit counts and aggregation counts.

Resolve #85203
2022-11-21 12:32:48 +00:00
Luigi Dell'Aquila 6e5c3d952c
Update docs about EQL CCS (#91542) 2022-11-15 14:07:26 +01:00
István Zoltán Szabó b7c75b9214
[DOCS] Fixes asciidoc syntax in semantic search API docs. (#91588) 2022-11-15 13:51:37 +01:00
István Zoltán Szabó e715f3c737
[DOCS] Adds KNN object sub-properties individually to common params (#91503) 2022-11-10 17:23:55 +01:00
István Zoltán Szabó ed452fb53d
[DOCS] Adds knn object to common parameters (#91464) 2022-11-10 11:21:01 +01:00
Alan Woodward 547c8327b2
Allow FetchSubPhaseProcessors to report their required stored fields (#91269)
Loading of stored fields is currently handled directly in FetchPhase, with
some fairly complex logic examining various bits of the FetchContext to work
out what fields need to be loaded. This is further complicated by synthetic
source, which may have its own stored field requirements.

This commit tries to separate out these concerns a little by adding a new
StoredFieldsSpec record that holds information about which stored fields
need to be loaded. Each FetchSubPhaseProcessor can now report a
StoredFieldsSpec detailing what its requirements are, and these specs can
be merged together, along with requirements from a SourceLoader, to
determine up-front what fields should be loaded by the StoredFieldLoader.
The stored fields themselves are added into the SearchHit by a new
StoredFieldsPhase, which handles alias resolution and value post-
processing. The logic to determine when source should be loaded and
when not, based on the presence of script fields or stored fields, is
moved into FetchContext, which highlights some inconsistencies that
can be fixed in follow-up commits.
2022-11-10 08:40:22 +00:00
debadair 3cad9f420f
[DOCS] Add 8.6 to CCS table (#91436)
* [DOCS] Add 8.6 to CCS table

* [DOCS] Fixed header
2022-11-09 14:04:18 -08:00
David Kyle b46ee9caaa
[ML] Hybrid retrieval for Semantic search. (#91348)
Adds the query option to the _semantic_search endpoint for hybrid retrieval. 
Scoring is controlled by the boost fields of the knn search and the query.
2022-11-09 13:48:48 +00:00
debadair b5dd2cd406
[DOC] Update CCS version matrix (#91371)
* [DOC] Update CCS version matrix

* Add two extra columns to table definition

Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
2022-11-08 08:24:52 -08:00
Lisa Cawley 2d30bbab21
[DOCS] Semantic search endpoint (#91210) 2022-11-01 09:01:55 -07:00
Lisa Cawley f0c12cdeea
[DOCS] Fix typo in knn-search.asciidoc (#91206) 2022-10-31 10:07:53 -07:00
Julie Tibshirani 1b249639f1
Remove experimental marking from kNN search (#91065)
This commit removes the experimental tag from kNN search docs and makes some
docs improvements:
* Add a prominent warning about memory usage in the kNN search guide
* Link to the performance tuning guide from the main guide
* Clarify the memory requirements section in the tuning guide
2022-10-27 18:00:56 +02:00
Stéphane Campinas 8c44ed1442
Fix itemized list (#90855) 2022-10-24 15:14:17 -04:00
Jack Conradson f28ae4b288
Add support for indexing byte-sized knn vectors (#90774)
This change adds an element_type as an optional mapping parameter for dense vector fields as 
described in #89784. This also adds a byte element_type for dense vector fields that supports storing 
dense vectors using only 8-bits per dimension. This is only supported when the mapping parameter 
index is set to true.

The code follows a similar pattern to our NumberFieldMapper where we have an enum for 
ElementType, and it has methods that DenseVectorFieldType and DenseVectorMapper can delegate to 
to support each available type (just float and byte for now).
2022-10-20 14:45:58 -07:00
David Kyle 9e6a784aa5
[ML] Semantic search endpoint (#90450)
Adds a {index}_semantic_search endpoint which first converts the query text into a dense vector
using a NLP text embedding model then performs a knn search against an index containing 
dense vectors created with the same embedding model.
2022-10-13 13:17:30 +01:00
Jack Conradson 8b0d0716d1
Add profiling and documentation for dfs phase (#90536)
Adds profiling statistics for the dfs phase, and adds documentation for both the dfs phase profiling 
and kNN profiling.

Closes #89713
2022-10-05 09:54:36 -07:00
Ievgen Degtiarenko 24cf87186d
Limit shard realocation retries (#90296)
This change ensures that elasticsearch would not indefinitely retry relocating shard if operation fails.
2022-09-27 14:44:30 +02:00