BaseRetrievalStrategy#
- class langchain_community.vectorstores.elasticsearch.BaseRetrievalStrategy[source]#
Base class for Elasticsearch retrieval strategies.
Methods
before_index_setup
(client, text_field, ...)Executes before the index is created.
index
(dims_length, vector_query_field, ...)Executes when the index is created.
query
(query_vector, query, *, k, fetch_k, ...)Executes when a search is performed on the store.
Returns whether or not the strategy requires inference to be performed on the text before it is added to the index.
- before_index_setup(
- client: Elasticsearch,
- text_field: str,
- vector_query_field: str,
Executes before the index is created. Used for setting up any required Elasticsearch resources like a pipeline.
- Parameters:
client (Elasticsearch) – The Elasticsearch client.
text_field (str) – The field containing the text data in the index.
vector_query_field (str) – The field containing the vector representations in the index.
- Return type:
None
- abstractmethod index(
- dims_length: int | None,
- vector_query_field: str,
- similarity: DistanceStrategy | None,
Executes when the index is created.
- Parameters:
dims_length (int | None) – Numeric length of the embedding vectors, or None if not using vector-based query.
vector_query_field (str) – The field containing the vector representations in the index.
similarity (DistanceStrategy | None) – The similarity strategy to use, or None if not using one.
- Returns:
The Elasticsearch settings and mappings for the strategy.
- Return type:
Dict
- abstractmethod query(
- query_vector: List[float] | None,
- query: str | None,
- *,
- k: int,
- fetch_k: int,
- vector_query_field: str,
- text_field: str,
- filter: List[dict],
- similarity: DistanceStrategy | None,
Executes when a search is performed on the store.
- Parameters:
query_vector (List[float] | None) – The query vector, or None if not using vector-based query.
query (str | None) – The text query, or None if not using text-based query.
k (int) – The total number of results to retrieve.
fetch_k (int) – The number of results to fetch initially.
vector_query_field (str) – The field containing the vector representations in the index.
text_field (str) – The field containing the text data in the index.
filter (List[dict]) – List of filter clauses to apply to the query.
similarity (DistanceStrategy | None) – The similarity strategy to use, or None if not using one.
- Returns:
The Elasticsearch query body.
- Return type:
Dict