60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# OpenSearch 索引初始化脚本
|
|
|
|
## 脚本路径
|
|
|
|
```text
|
|
scripts/setup_opensearch.php
|
|
```
|
|
|
|
## 脚本作用
|
|
|
|
创建或确认 Proof DB 使用的 OpenSearch chunk 索引,并同步缺失的增量 mapping 字段。
|
|
|
|
当前版本会确保:
|
|
|
|
- `proofdb_chunks` 索引存在。
|
|
- BM25 全文字段 mapping 已建立。
|
|
- 已存在索引上的缺失字段 mapping 会被补齐,例如后续新增的 `summary`。
|
|
- `embedding` 字段为 `knn_vector`。
|
|
- 向量维度与当前配置一致。
|
|
|
|
## 运行前提
|
|
|
|
- OpenSearch 服务已经启动。
|
|
- 当前环境中的 OpenSearch 配置可用。
|
|
- 项目依赖已安装完成。
|
|
- 从项目根目录执行命令。
|
|
|
|
如果本地 OpenSearch 使用 HTTPS 且证书是自签名:
|
|
|
|
```bash
|
|
OPENSEARCH_SSL_VERIFY=false php scripts/setup_opensearch.php
|
|
```
|
|
|
|
## 运行命令
|
|
|
|
```bash
|
|
php scripts/setup_opensearch.php
|
|
```
|
|
|
|
## 成功输出示例
|
|
|
|
```text
|
|
OpenSearch chunk index initialized: proofdb_chunks
|
|
Vector dimensions: 2048
|
|
```
|
|
|
|
## 适用场景
|
|
|
|
- OpenSearch 首次初始化。
|
|
- `proofdb_chunks` 被删除后重建。
|
|
- 增加了新的文档字段,例如 `summary`。
|
|
- 调整了索引 mapping 或向量维度后重新准备索引。
|
|
|
|
## 常见失败信号
|
|
|
|
- `NoNodesAvailableException`
|
|
说明 host、协议、端口、SSL 校验或服务状态不对。
|
|
- 鉴权失败
|
|
说明 `OPENSEARCH_USERNAME` / `OPENSEARCH_PASSWORD` 不正确。
|