langchain_community.vectorstores.elasticsearch.ExactRetrievalStrategy¶

class langchain_community.vectorstores.elasticsearch.ExactRetrievalStrategy[source]¶

Exact retrieval strategy using the script_score query.

Methods

__init__()

before_index_setup(client, text_field, ...)

Executes before the index is created.

index(dims_length, vector_query_field, ...)

Create the mapping for the Elasticsearch index.

query(query_vector, query, k, fetch_k, ...)

Executes when a search is performed on the store.

require_inference()

Returns whether or not the strategy requires inference to be performed on the text before it is added to the index.

__init__()¶
before_index_setup(client: Elasticsearch, text_field: str, vector_query_field: str) None¶

Executes before the index is created. Used for setting up any required Elasticsearch resources like a pipeline.

Parameters
  • client – The Elasticsearch client.

  • text_field – The field containing the text data in the index.

  • vector_query_field – The field containing the vector representations in the index.

index(dims_length: Optional[int], vector_query_field: str, similarity: Optional[DistanceStrategy]) Dict[source]¶

Create the mapping for the Elasticsearch index.

query(query_vector: Optional[List[float]], query: Optional[str], k: int, fetch_k: int, vector_query_field: str, text_field: str, filter: Optional[List[dict]], similarity: Optional[DistanceStrategy]) Dict[source]¶

Executes when a search is performed on the store.

Parameters
  • query_vector – The query vector, or None if not using vector-based query.

  • query – The text query, or None if not using text-based query.

  • k – The total number of results to retrieve.

  • fetch_k – The number of results to fetch initially.

  • vector_query_field – The field containing the vector representations in the index.

  • text_field – The field containing the text data in the index.

  • filter – List of filter clauses to apply to the query.

  • similarity – The similarity strategy to use, or None if not using one.

Returns

The Elasticsearch query body.

Return type

Dict

require_inference() bool¶

Returns whether or not the strategy requires inference to be performed on the text before it is added to the index.

Returns

Whether or not the strategy requires inference to be performed on the text before it is added to the index.

Return type

bool