Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Vector Search - EXPERIMENTAL #248

Merged
merged 11 commits into from
Jul 31, 2023
Merged

Vector Search - EXPERIMENTAL #248

merged 11 commits into from
Jul 31, 2023

Conversation

gmourier
Copy link
Member

@gmourier gmourier commented Jun 23, 2023

🤖 API Diff


Summary

Describes the experimental vector search related properties and capabilities


Changes

  • Introduces vector and _semanticScore properties on search-api.md
  • Introduces the special properties _vectors for a document body
  • Describes related errors
    • invalid_search_vector
    • invalid_document_vectors_field
  • Add the experimental properties on open-api.yaml
  • Describes added telemetry

Out Of Scope

N/A


Attention To Reviewers

N/A


Misc

  • Update OpenAPI specification file
  • Update telemetry datapoints (if needed; Apply the Telemetry label)

@gmourier gmourier added 🧪 Experimental The PR describes an experimental feature. In Progress Feature specification is in elaboration. Important changes can still occurs in the specification. labels Jun 23, 2023
@gmourier gmourier mentioned this pull request Jun 23, 2023
1 task
@github-actions
Copy link

🚨 Breaking API change detected:

Modified (3)

  • [Breaking] DELETE /indexes/{indexUid}/documents/{documentId}
    • [Breaking] Header removed: Content-Type
    • [Breaking] Body removed
  • POST /indexes/{indexUid}/search
    • Body modified
      • Attribute added: vector
  • POST /multi-search
    • Body modified
      • Attribute modified: queries

Powered by Bump

@gmourier gmourier added OpenAPI Update OpenAPI specification. Telemetry Update the telemetry collect. Ready For Review Feature specification must be reviewed. and removed In Progress Feature specification is in elaboration. Important changes can still occurs in the specification. labels Jun 27, 2023
@gmourier gmourier requested review from maryamsulemani97 and brunoocasali and removed request for brunoocasali and maryamsulemani97 June 27, 2023 11:22
@gmourier gmourier added In Progress Feature specification is in elaboration. Important changes can still occurs in the specification. and removed Ready For Review Feature specification must be reviewed. labels Jun 27, 2023
text/0118-search-api.md Outdated Show resolved Hide resolved
text/0034-telemetry-policies.md Outdated Show resolved Hide resolved
text/0034-telemetry-policies.md Outdated Show resolved Hide resolved
text/0061-error-format-and-definitions.md Outdated Show resolved Hide resolved
text/0118-search-api.md Outdated Show resolved Hide resolved
text/0061-error-format-and-definitions.md Outdated Show resolved Hide resolved
text/0124-documents-api.md Show resolved Hide resolved
@gmourier gmourier added Ready For Review Feature specification must be reviewed. and removed In Progress Feature specification is in elaboration. Important changes can still occurs in the specification. labels Jun 27, 2023
@gmourier gmourier added v1.3.0 Implemented Feature specification has been implemented. labels Jul 5, 2023
@gmourier gmourier requested review from alallema and macraig July 7, 2023 06:26
open-api.yaml Outdated Show resolved Hide resolved
open-api.yaml Outdated Show resolved Hide resolved
### Context

This error occurs for the listed reasons:
- if a value with a different type than `Array of Float` or `null` for `vector` is specified.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Array of Float an existing type?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An array of arrays and an empty array aren't supposed to work too?
Or is it not interesting to talk about here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a point in setting the value of the vector field to null?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@macraig what do you mean by existing type?

Copy link
Member Author

@gmourier gmourier Jul 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @Kero

What is the default value of the vector field at search-time? null or []?

If we don't accept [], the default value specified should be null for the field right?

Copy link
Contributor

@alallema alallema Jul 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a point in setting the value of the vector field to null?

Depending on your code if you set a query and want to be sure not to use the vector.
[2023-07-13T16:05:55Z WARN meilisearch::search] Ignoring the query string `q` when used with the `vector` parameter.

text/0061-error-format-and-definitions.md Outdated Show resolved Hide resolved
text/0118-search-api.md Outdated Show resolved Hide resolved
open-api.yaml Outdated Show resolved Hide resolved
### Context

This error occurs for the listed reasons:
- if a value with a different type than `Array of Float` or `null` for `vector` is specified.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An array of arrays and an empty array aren't supposed to work too?
Or is it not interesting to talk about here?


### Context

These errors occurs when the `_vectors` field of a document payload is not valid. Either due to the type of it or the number of dimensions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought the type was already checked in the invalid_search_vector. I'm not sure to understand when a synchronous or asynchronous error happens.

text/0034-telemetry-policies.md Show resolved Hide resolved
Copy link
Contributor

@bidoubiwa bidoubiwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@macraig macraig merged commit 1a3f49d into release-v1.3.0 Jul 31, 2023
@macraig macraig deleted the vector-search branch July 31, 2023 10:20
macraig added a commit that referenced this pull request Jul 31, 2023
* Bump openapi.yaml file

* Facet Search API (#246)

* Init specification

* Adjust spec files to PR number

* Fix content-type open-api

* Remove fix content-type

* Add the telemetry

* Update text/0246-facet-search-api.md

Co-authored-by: cvermand <[email protected]>

* Update text/0034-telemetry-policies.md

---------

Co-authored-by: Clément Renault <[email protected]>
Co-authored-by: cvermand <[email protected]>

* Faceting Setting API - sortFacetValuesBy  (#247)

* init spec

* Add property description and open-api.yaml

* Removes future possibility

* Update the telemetry

* Update the error of the sortFacetValuesBy setting

---------

Co-authored-by: Clément Renault <[email protected]>

* Vector Search - `EXPERIMENTAL` (#248)

* Init spec

* Fix the vector store fields

* Add an information on the invalid_search_vector error code

* Add an information on the invalid_vectors_field error codes

* Define the new max_vector_size analytic

* Update the open-api file with vector capabilities

* Apply suggestions from code review

* Update open-api.yaml

Co-authored-by: Maria Craig <[email protected]>

* Update open-api.yaml

Co-authored-by: Maria Craig <[email protected]>

* Update text/0118-search-api.md

Co-authored-by: Maria Craig <[email protected]>

* Update text/0061-error-format-and-definitions.md

Co-authored-by: Maria Craig <[email protected]>

---------

Co-authored-by: Kerollmops <[email protected]>
Co-authored-by: Maria Craig <[email protected]>

* Tasks route total (#253)

* Update the tasks route info to add the total field

* Update the OpenApi of the tasks route

* Document the latest metrics improvements (#242)

* document the latest metrics improvements

* Update text/0174-metrics-api.md

Co-authored-by: Guillaume Mourier <[email protected]>

* Update text/0174-metrics-api.md

Co-authored-by: Guillaume Mourier <[email protected]>

* adds some details on the meilisearch_db_size metrics

* update the open api metrics smaple

* update a bad copy paste

* Update open-api.yaml

* prefix prometheus metrics by meilisearch_

* Introduce two new metrics

---------

Co-authored-by: Guillaume Mourier <[email protected]>
Co-authored-by: Kerollmops <[email protected]>

---------

Co-authored-by: Guillaume Mourier <[email protected]>
Co-authored-by: Clément Renault <[email protected]>
Co-authored-by: cvermand <[email protected]>
Co-authored-by: Clément Renault <[email protected]>
Co-authored-by: Tamo <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🧪 Experimental The PR describes an experimental feature. Implemented Feature specification has been implemented. OpenAPI Update OpenAPI specification. Ready For Review Feature specification must be reviewed. Telemetry Update the telemetry collect. v1.3.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants