【问题标题】:How to delete SOLR indexed data by query with curl?如何通过 curl 查询删除 SOLR 索引数据?
【发布时间】:2012-02-01 22:34:54
【问题描述】:

我有一个这样的 SOLR schema.xml:

<field name="cartype" type="lowercase" indexed="true" stored="true"/>
<field name="color" type="lowercase" indexed="true" stored="true"/>

我想使用 curl 命令从 SOLR 数据库中删除“blue”和“stationwagon”标记的记录。

但我没有使用以下命令:

curl http://46.231.77.98:7979/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete>(cartype:stationwagon)AND(color:blue)</delete>"

你有什么建议吗?

【问题讨论】:

    标签: curl solr schema http-delete


    【解决方案1】:

    你必须添加query标签。

    <delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>
    

    【讨论】:

    • 这是否等同于+cartype:stationwagon +color:blue
    【解决方案2】:

    这样会更容易:curl "http://46.231.77.98:7979/solr/collection/update/?commit=true&amp;stream.body=&lt;delete&gt;&lt;query&gt;(cartype:stationwagon)AND(color:blue)&lt;/query&gt;&lt;/delete&gt;"

    这是一个简单的GET 请求,您只需在查询字符串中添加参数
    stream.body=&lt;delete&gt;&lt;query&gt;(cartype:stationwagon)AND(color:blue)&lt;/query&gt;&lt;/delete&gt;

    【讨论】:

      【解决方案3】:

      使用 JSON 代替 XML:

      curl -g "http://localhost:8983/solr/$core/update" \
           -H 'Content-Type: application/json' \
           -d '{"delete":{"query":"field:value"}}'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 2016-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多