Commit graph

1174 commits

Author SHA1 Message Date
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
Julie Tibshirani
b1acb3603d
Clarify that knn does not use postfiltering (#89897)
This PR expands the approximate kNN docs to clarify the filter is applied during
the kNN search, not after. It explains the downsides of postfiltering.
2022-09-19 16:47:17 -07:00
Adam Locke
686a3fd45d
[DOCS] Update CCS compatibility matrix for 8.3 (#88906)
* [DOCS] Update CCS compatibility matrix for 8.3

Updates the CCS compatibility table to include 8.3.

* Fixing busted table 🔨

* Update table for 8.3 -> 8.1 support

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2022-09-07 11:53:22 -04:00
Anthony McGlone
492f5b1751
[DOCS] Update search_after section with an example (#89631)
* [DOCS] Update search_after section with an example

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

* [DOCS] Update search_after section with an example

* [DOCS] Update search_after example with a response with sort values

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>
2022-09-05 15:33:03 +02:00
Jack Conradson
8c30b86fe2
Fix bug for kNN with filtered aliases (#89621)
This change adds the filter query for a filtered alias to the knn query during the dfs phase on the 
shard. This ensures the correct number of k results are returned instead of removing results as a post 
filter.

Fixes: #89561
2022-08-30 15:57:37 -07:00
Abdon Pijpelink
772784f3c9
[DOCS] Add note that terms enum API may return terms from deleted docs (#89654) 2022-08-29 15:19:04 +02:00
Abdon Pijpelink
27061a530e
Revert "[DOCS] Update search_after section with an example (#89328)" (#89411)
Reverts elastic/elasticsearch#89328
2022-08-17 18:20:15 +09:30
Anthony McGlone
af8ac50788
[DOCS] Update search_after section with an example (#89328)
* [DOCS] Update search_after section with an example

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

* Update docs/reference/search/search-your-data/paginate-search-results.asciidoc

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>

Co-authored-by: Abdon Pijpelink <abdon@abdon.nl>
2022-08-17 09:53:14 +02:00
Julie Tibshirani
acf9a67480
Document kNN with aggregations (#89359)
This commit adds a short note to the 'search your data' docs around kNN search
to explain how approximate kNN works with aggregations:
* Make section on 'hybrid retrieval' more general and include aggregations info
* Remove an example response from the previous section on filtering, since this
  page was getting long
2022-08-16 15:28:32 -07:00
Christos Soulios
b81f4187ab
[TSDB] Metric fields in the field caps API (#88695)
To assist the user in configuring the visualizations correctly while leveraging TSDB
functionality, information about TSDB configuration should be exposed via the field 
caps API per field.

Especially for metrics fields, it must be clear which fields are metrics and if they belong 
to only time-series indexes or mixed time-series and non-time-series indexes.

To further distinguish metric fields when they belong to any of the following indices:

  -  Standard (non-time-series) indexes
  -  Time series indexes
  -  Downsampled time series indexes

This PR modifies the field caps API so that the mapping parameters time_series_dimension 
and time_series_dimension are presented only when they are set on fields of time-series indexes.
Those parameters are completely ignored when they are set on standard (non-time-series) indexes.

This PR revisits some of the conventions adopted by #78790
2022-08-04 20:42:34 +03:00
Abdon Pijpelink
b96c39e7ad
[DOCS] Move completion type asciidoc (#89086)
* [DOCS] Move completion type asciidoc

* Fix failing code snippet test
2022-08-04 10:02:28 +02:00
Julie Tibshirani
21eb984e64
Deprecate the _knn_search endpoint (#88828)
This change deprecates the kNN search API in favor of the new 'knn' option
inside the search API. The 'knn' option is now the preferred way of performing
kNN search.

Relates to #87625
2022-08-03 15:19:01 -04:00
Navanit Dubey
9afb01e14e
Update rank-eval.asciidoc (#88771) 2022-07-25 18:00:49 +02:00
Julie Tibshirani
e3ede67262
Integrate ANN into _search endpoint (#88694)
This PR adds a new `knn` option to the `_search` API to support ANN search.
It's powered by the same Lucene ANN capabilities as the old `_knn_search`
endpoint. The `knn` option can be combined with other search features like
queries and aggregations.

Addresses #87625
2022-07-22 08:02:07 -07:00
Ignacio Vera
04bdefd58c
Remove Collector implementation from BucketCollector (#88444)
BucketCollector has now a method called #asCollector that returns the current BucketCollector wrapped as a 
Lucene Collector.
2022-07-18 08:18:13 +02:00
Nhat Nguyen
4732fc2343
Implement count for wrapped Weight in ContextIndexSearcher (#88396)
Implements Weight#count() for wrapped Weights that don't change matching documents.

Relatess #88284
2022-07-13 16:57:12 -04:00
David Kilfoyle
40e9f3097c
[DOCS] Add TSDS docs, take two (#87703)
* Revert "Revert "[DOCS] Add TSDS docs (#86905)" (#87702)"

This reverts commit 0c86d7b9b2.

* First fix to tests

* Add data_stream object to index template

* small rewording

* Add enable data stream object in gradle example setup

* Add bullet about data stream must be enabled in template
2022-06-16 12:44:10 -04:00
David Kilfoyle
0c86d7b9b2
Revert "[DOCS] Add TSDS docs (#86905)" (#87702)
Reverts elastic/elasticsearch#86905
2022-06-15 13:32:12 -04:00
David Kilfoyle
d57f4ac2c6
[DOCS] Add TSDS docs (#86905)
* [DOCS] Add TSDB docs

* Update docs/build.gradle

Co-authored-by: Adam Locke <adam.locke@elastic.co>

* Address Nik's comments, part 1

* Address Nik's comments, part deux

* Reword write index

* Add feature flags

* Wrap one more section in feature flag

* Small fixes

* set index.routing_path to optional

* Update storage reduction value

* Update create index template code example

Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
Co-authored-by: Adam Locke <adam.locke@elastic.co>
2022-06-15 12:22:07 -04:00