langchain_elasticsearch.vectorstores
.BM25RetrievalStrategy¶
- class langchain_elasticsearch.vectorstores.BM25RetrievalStrategy(k1: Optional[float] = None, b: Optional[float] = None)[source]¶
已弃用:自版本 0.2.0 以来:请使用
BM25Strategy
代替。使用 Elasticsearch 的原生 BM25 算法的检索策略。
方法
__init__
([k1, b])before_index_setup
(client, text_field, ...)在创建索引之前执行。
index
(dims_length, vector_query_field, ...)在创建索引时执行。
query
(query_vector, query, k, fetch_k, ...)在存储上执行搜索时执行。
返回策略是否需要在添加到索引之前对文本进行推理。
- 参数
k1 (可选;float;) –
b (可选;float;) –
- __init__(k1: Optional[float] = None, b: Optional[float] = None)[source]¶
- 参数
k1 (可选;float;) –
b (可选;float;) –
- 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, text_field: str, similarity: Optional[DistanceStrategy]) Dict [source]¶
在创建索引时执行。
- 参数
dims_length (Optional[int]) – 嵌入向量的数值长度,或不使用基于向量的查询时为None。
vector_query_field (str) – 包含索引中向量表示的字段。
text_field (str) – 包含索引中文本数据的字段。
similarity (Optional[DistanceStrategy]) – 要使用的相似度策略,或不使用时为None。
- 返回
策略的Elasticsearch设置和映射。
- 返回类型
Dict
- 查询(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 [源代码]¶
在存储上执行搜索时执行。
- 参数
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