Please enable Javascript to view the contents

Solr清空CORE的数据

 ·  ☕ 3 分钟

在使用Solr做全文检索的过程中,难免需要清空原有的数据再进行索引的重建,下面介绍了四种清空Solr中指定Core数据的方法。

方式一

基于Solr提供的WEB管理页面进行操作。

1. 访问WEB管理页面

访问地址为http://<ip>:<port>,例如:

http://10.143.49.137:19807

2. 选择需要操作的core。

这一步可以和第一步直接进行合并,直接使用http://<ip>:<port>/#/<core>的方式进行访问即可。

http://10.143.49.137:19807/#/check/

3.选择Documents选项。

这一步可以和第一步以及第二步直接进行合并,直接使用http://<ip>:<port>/#/<core>/documents的方式进行访问即可。

在文档操作选项表单中按照如下填写。

  1. Request-Handler (qt)填写/update
  2. Document Type选择XML
  3. Document(s)中输入<delete><query>*:*</query></delete><commit/>

填写完毕以后,直接点击Submit Document即可对数据进行清空操作。执行成功则出现如下提示:

Status: success
Response:
{
  "responseHeader": {
    "status": 0,
    "QTime": 8
  }
}

方式二

使用Solr自带的 post.jar工具,在 apache-solr-XXX/example/exampledocs目录下。

执行如下命令即可

java -Ddata=args -jar post.jar "<delete><query>字段:条件</query></delete>" 

工具的其他使用参照java -jar post.jar -help 命令。

方式三

使用 stream 相关参数请求删除数据

请求格式为:http://<ip>:<port>/<core>/update/?stream.body=xxx的形式。

例如:

http://<ip>:<port>/<core>/update/?stream.body=<delete><query>字段:条件</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

执行成功则返回如下xml内容:

1
2
3
4
5
6
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">6</int>
</lst>
</response>

方式四

使用CURL的方式发送操作删除。# 删除完后进行提交操作   

curl -X POST -H 'content-type:text/xml;charset=utf-8' --data-binary  "<delete><query>字段:条件</query></delete><commit/>" http://<ip>:<port>/<core>/update

说明

在上面的四种操作方法中。<query>字段:条件</query>均为按照查询条件进行删除,也可以直接换成根据ID删除,格式为<id>条件</id>

目录