基础检索策略#
- class langchain_community.vectorstores.elasticsearch.BaseRetrievalStrategy[source]#
Elasticsearch 检索策略的基类。
方法
before_index_setup
(client, text_field, ...)在索引创建之前执行。
index
(dims_length, vector_query_field, ...)在创建索引时执行。
query
(query_vector, query, *, k, fetch_k, ...)在存储上执行搜索时执行。
返回策略是否需要在将文本添加到索引之前对其进行推理。
- 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:
无
- abstract 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:
字典
- abstract 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 [来源]#
当在商店上执行搜索时触发。
- 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:
字典