langchain_community.vectorstores.elasticsearch.SparseRetrievalStrategy

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

自版本 0.0.27 起弃用:请使用 langchain-elasticsearch 包中的 class 来代替。

使用 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()

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

参数

model_id (Optional[str]) –

__init__(model_id: Optional[str] = None)
参数

model_id (Optional[str]) –

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

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

参数
  • client (Elasticsearch) – Elasticsearch客户端。

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

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

返回类型

None

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

在创建索引时执行。

参数
  • dims_length (Optional[int]) – 嵌入向量数值长度,如果没有使用基于向量的查询则为None。

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

  • similarity (Optional[DistanceStrategy]) – 要使用的相似度策略,如果没有使用则为None。

返回

策略的Elasticsearch设置和映射。

返回类型

Dict

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

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

参数
  • query_vector (可选[[float]]) – 查询向量,如果没有使用基于向量的查询则返回None。

  • query (可选[str]) – 文本查询,如果没有使用基于文本的查询则返回None。

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

  • fetch_k (int) – 初始时要获取的结果数目。

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

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

  • filter ([[dict]}) – 应用到查询的过滤器条款列表。

  • similarity (Optional[DistanceStrategy]) – 要使用的相似度策略,如果没有使用则为None。

返回

Elasticsearch查询正文。

返回类型

Dict

require_inference() bool[source]

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

返回

是否策略需要在文本被添加到索引之前执行推断。

返回类型

bool