如何在Linux机器上列出Vespa DB所有Schema并删除特定源文档?
Vespa DB 列出Schema及删除特定源文档操作指南
一、列出所有Schema
1. 通过Vespa CLI查询
在Linux终端直接运行:
vespa schema list
命令会返回当前Vespa实例里所有Schema的名称和状态(比如active)。
2. 通过HTTP API查询
如果CLI用着不方便,也可以发HTTP请求到配置服务:
curl http://localhost:19071/v2/schemas
如果你的Vespa配置服务器不在本地,把localhost换成实际的服务器地址。返回的JSON数据里包含所有Schema的详细信息。
二、删除特定源下的所有文档
先确认好目标Schema名称,以及文档中标记数据源的字段(比如叫source),要删除的源值是target_source:
1. 用Vespa CLI快速删除
执行命令:
vespa document delete --schema your_schema_name --query "source:target_source"
把your_schema_name换成你找到的Schema名,source换成实际的源字段名,target_source换成要删除的源值即可。
2. 批量删除(大数量文档适用)
如果要删的文档很多,用批量操作更高效:
- 创建一个JSON文件(比如
delete_batch.json),内容如下:
{ "operations": [ { "delete": { "query": "source:target_source" } } ] }
- 用curl发送请求:
curl -X POST -H "Content-Type: application/json" http://localhost:8080/document/v1/your_schema_name/docid/ -d @delete_batch.json
同样替换your_schema_name、source、target_source和localhost为实际值。
内容的提问来源于stack exchange,提问作者KZiovas
相关产品推荐
相关产品推荐

