SparseRetrievalStrategy#

class langchain_community.vectorstores.elasticsearch.SparseRetrievalStrategy(model_id: str | None = None)[source]#

自版本0.0.27起已弃用:请改用Use class in langchain-elasticsearch package

使用text_expansion处理器的稀疏检索策略。

方法

__init__([model_id])

before_index_setup(client, text_field, ...)

在索引创建之前执行。

index(dims_length, vector_query_field, ...)

在创建索引时执行。

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

在存储上执行搜索时执行。

require_inference()

返回策略是否需要在将文本添加到索引之前对其进行推理。

Parameters:

model_id (str | None)

__init__(model_id: str | None = None)[source]#
Parameters:

model_id (str | None)

before_index_setup(client: Elasticsearch, text_field: str, vector_query_field: str) None[source]#

在索引创建之前执行。用于设置任何所需的Elasticsearch资源,如管道。

Parameters:
  • client (Elasticsearch) – Elasticsearch 客户端。

  • text_field (str) – 索引中包含文本数据的字段。

  • vector_query_field (str) – 索引中包含向量表示的字段。

Return type:

index(dims_length: int | None, vector_query_field: str, similarity: DistanceStrategy | None) Dict[source]#

在创建索引时执行。

Parameters:
  • dims_length (int | None) – 嵌入向量的数值长度,如果不使用基于向量的查询则为None。

  • vector_query_field (str) – 索引中包含向量表示的字段。

  • similarity (DistanceStrategy | None) – 使用的相似性策略,如果不使用则为None。

Returns:

策略的Elasticsearch设置和映射。

Return type:

字典

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) Dict[source]#

当在商店上执行搜索时触发。

Parameters:
  • query_vector (List[float] | None) – 查询向量,如果不使用基于向量的查询则为None。

  • query (str | None) – 文本查询,如果不使用基于文本的查询则为None。

  • k (int) – 要检索的结果总数。

  • fetch_k (int) – 初始获取的结果数量。

  • vector_query_field (str) – 索引中包含向量表示的字段。

  • text_field (str) – 索引中包含文本数据的字段。

  • filter (List[dict]) – 应用于查询的过滤条件列表。

  • similarity (DistanceStrategy | None) – 使用的相似性策略,如果不使用则为None。

Returns:

Elasticsearch 查询主体。

Return type:

字典

require_inference() bool[source]#

返回策略是否需要在将文本添加到索引之前对其进行推理。

Returns:

策略是否需要在将文本添加到索引之前对其进行推理。

Return type:

布尔