java - 无法使用 post 工具或 URL 删除 solr 文档(使用查询)

标签 java solr bulkupdate solr6

我无法使用发布工具或 URL 删除 solr 文档(使用查询)。

请注意,我的 solr 配置了基本身份验证。
Solr 版本: 6.6

我尝试了两种方法,

  1. 使用发布工具

./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>
    

    JSON:

    {'delete': {'query': '*:*'}}
    

    确保将“文档类型”下拉列表选择为“Solr 命令”(原始 XML 或 JSON)。

    关于java - 无法使用 post 工具或 URL 删除 solr 文档(使用查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59138171/

    相关文章:

    solr - 如何在 Solr 中使用 SynonymFilterFactory?

    java - solrj中的Document.addField和Document.setField有什么区别?

    c# - 在 C#/.NET 中执行批量更新的最快方法

    java - 在 AWS 中找不到 Servlet

    java - 字符串和数字的范围分组列表

    java - 在 hibernate 中的另一个实体中两次使用相同的实体

    node.js - 为 postgresQL 续写 bulkCreate updateOnDuplicate?

    java - DB2 事务日志

    postgresql - 当环境变量仅存在于容器内部时,如何将环境变量传递给在 Docker 内运行的 Solr?

    Spring Data Mongodb - 如何进行批量更新插入