langchain_community.vectorstores.elasticsearch.ApproxRetrievalStrategy

class langchain_community.vectorstores.elasticsearch.ApproxRetrievalStrategy(query_model_id: Optional[str] = None, hybrid: Optional[bool] = False, rrf: Optional[Union[dict, bool]] = True)[source]

已弃用:版本 0.0.27:请改用 langchain-elasticsearch 包中的 class

使用 HNSW 算法的近似检索策略。

方法

__init__([query_model_id, hybrid, rrf])

before_index_setup(client, text_field, ...)

在创建索引之前执行。

index(dims_length, vector_query_field, ...)

创建 Elasticsearch 索引的映射。

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

在在存储中进行搜索时执行。

require_inference()

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

参数
  • query_model_id (可选[str]) –

  • hybrid (可选[bool]) –

  • rrf (可选[Union[dict, bool]]) –

__init__(query_model_id: Optional[str] = None, hybrid: Optional[bool] = False, rrf: Optional[Union[dict, bool]] = True)[源代码]
参数
  • query_model_id (可选[str]) –

  • hybrid (可选[bool]) –

  • rrf (可选[Union[dict, bool]]) –

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[源代码]

创建 Elasticsearch 索引的映射。

参数
  • dims_length (Optional[int]) –

  • vector_query_field (str) –

  • similarity (Optional[DistanceStrategy]) –

返回类型

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 (Optional[List[float]]) – 查询向量,如果不使用基于向量的查询,则为 None。

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

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

  • fetch_k (int) – 初始检索结果的数量。

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

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

  • filter (List[dict]) – 应用到查询的过滤器子句列表。

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

返回:

Elasticsearch 查询体。

返回类型

Dict

require_inference() bool

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

返回:

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

返回类型

bool