我无法使用发布工具或URL删除solr文档(使用查询(。
请注意,我的 solr 配置了基本身份验证。
溶胶版本 :6.6
我尝试了两种方法,
- 使用发布工具
./post -u username:pass -c core_name delete_by_timestamp.xml
这里delete_by_timestamp.xml看起来像,
<delete>
<query>timestamp:[* TO 2017-04-03T10:30:30Z]</query>
</delete>
这给了我401 Unauthorized
回应
- 使用 URL,
http://username:pass@{ip_address}:8983/solr/core_name/update?stream.body=<delete><query>timestamp:[* TO 2017-04-03T10:30:30Z]</query></delete>&commit=true
这给了我NullPointerException
,
java.lang.NullPointerException at
org.apache.solr.query.SolrRangeQuery.createDocSet(SolrRangeQuery.java:156) at
org.apache.solr.query.SolrRangeQuery.access$200(SolrRangeQuery.java:57) at
org.apache.solr.query.SolrRangeQuery$ConstWeight.getSegState(SolrRangeQuery.java:412)
任何帮助将不胜感激。提前谢谢。
在 Solr 管理 UI 的"文档"选项卡中使用以下查询之一:
.XML:
<delete><query>*:*</query></delete>
杰森:
{'delete': {'query': '*:*'}}
确保选择"文档类型"下拉列表到"Solr 命令(原始 XML 或 JSON("。
我回答了一个类似的问题。让我们试试这个。
我尝试了以下步骤。效果很好。
- 请确保 SOLR 服务器正在运行
-
只需单击链接删除所有SOLR数据,这将点击并删除所有SOLR索引数据,然后您将在屏幕上获得以下详细信息作为输出。
<response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">494</int> </lst> </response>
-
如果您没有获得上述输出,请确保以下内容。
- 我在上面的链接中使用了默认
host
(本地主机(和port
(8080(。 如果您最终不同,请更改主机和端口。 - 默认核心名称应为
collection
/collection1
。我在上面的链接中使用了collection1
。如果您的核心名称不同,也请更改它。
- 我在上面的链接中使用了默认
我的答案链接