Share via


VectorStoreTextSearch Class

Class that wraps a Vector Store Record Collection to expose as a Text Search.

Preferably the class methods are used to create an instance of this class. Otherwise the search executes in the following order depending on which store was set:

  1. vectorizable_text_search
  2. vector_text_search
  3. vectorized_search (after calling the embedding service)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Constructor

VectorStoreTextSearch(*, vectorizable_text_search: VectorizableTextSearchMixin | None = None, vectorized_search: VectorizedSearchMixin | None = None, vector_text_search: VectorTextSearchMixin | None = None, embedding_service: EmbeddingGeneratorBase | None = None, string_mapper: Callable[[TModel], str] | None = None, text_search_results_mapper: Callable[[TModel], TextSearchResult] | None = None)

Parameters

Name Description
vectorizable_text_search
Required

A vector store record collection with a method to search for vectorizable text.

vectorized_search
Required

A vector store record collection with a method to search for vectors.

vector_text_search
Required

A vector store record collection with a method to search for text.

embedding_service
Required

An embedding service to use for vectorized search.

string_mapper
Required

A function to map a record to a string.

text_search_results_mapper
Required

A function to map a record to a TextSearchResult.

Keyword-Only Parameters

Name Description
vectorizable_text_search
Required
vectorized_search
Required
vector_text_search
Required
embedding_service
Required
string_mapper
Required
text_search_results_mapper
Required

Methods

from_vector_text_search

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

from_vectorizable_text_search

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

from_vectorized_search

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

get_search_results

Search for a query, returning a KernelSearchResult with a VectorSearchResult[TModel] as the results type.

get_text_search_results

Search for a query, returning a KernelSearchResult with a TextSearchResult as the results type.

search

Search for a query, returning a KernelSearchResult with a string as the results type.

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

from_vector_text_search(vector_text_search: VectorTextSearchMixin, string_mapper: Callable | None = None, text_search_results_mapper: Callable | None = None, **kwargs: Any) -> _T

Parameters

Name Description
vector_text_search
Required
string_mapper
Default value: None
text_search_results_mapper
Default value: None

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

from_vectorizable_text_search(vectorizable_text_search: VectorizableTextSearchMixin, string_mapper: Callable | None = None, text_search_results_mapper: Callable | None = None, **kwargs: Any) -> _T

Parameters

Name Description
vectorizable_text_search
Required
string_mapper
Default value: None
text_search_results_mapper
Default value: None

Create a new VectorStoreTextSearch from a VectorStoreRecordCollection.

from_vectorized_search(vectorized_search: VectorizedSearchMixin, embedding_service: EmbeddingGeneratorBase, string_mapper: Callable | None = None, text_search_results_mapper: Callable | None = None, **kwargs: Any) -> _T

Parameters

Name Description
vectorized_search
Required
embedding_service
Required
string_mapper
Default value: None
text_search_results_mapper
Default value: None

get_search_results

Search for a query, returning a KernelSearchResult with a VectorSearchResult[TModel] as the results type.

async get_search_results(query: str, options: SearchOptions | None = None, **kwargs: Any) -> KernelSearchResults[VectorSearchResult[TModel]]

Parameters

Name Description
query
Required
options
Default value: None

get_text_search_results

Search for a query, returning a KernelSearchResult with a TextSearchResult as the results type.

async get_text_search_results(query: str, options: SearchOptions | None = None, **kwargs: Any) -> KernelSearchResults[TextSearchResult]

Parameters

Name Description
query
Required
options
Default value: None

Search for a query, returning a KernelSearchResult with a string as the results type.

async search(query: str, options: SearchOptions | None = None, **kwargs: Any) -> KernelSearchResults[str]

Parameters

Name Description
query
Required
options
Default value: None

Attributes

options_class

Get the options class.

embedding_service

embedding_service: EmbeddingGeneratorBase | None

string_mapper

string_mapper: Callable[[TModel], str] | None

text_search_results_mapper

text_search_results_mapper: Callable[[TModel], TextSearchResult] | None
vector_text_search: VectorTextSearchMixin | None
vectorizable_text_search: VectorizableTextSearchMixin | None
vectorized_search: VectorizedSearchMixin | None