在传递
JSON数据与XML数据时,Solr的删除查询语法是否不同? Solr的
docs相当含糊.我在Java 1.8上的Mac OSX上使用Solr 5.0.0.
这是我本地方框上的curl命令.
curl -v http://localhost:8983/solr/nZ/update -H "Content-Type: application/json" --data-binary [ { "delete": { "query":"UserId:5629499534213120 AND SessionId:5066549580791808 AND Kind:event" } } ]
这输出:
{ "responseHeader": { "status": 400,"QTime": 2 },"error": { "msg": "Document is missing mandatory uniqueKey field: Id","code": 400 } }
通过XML运行它:
curl -v http://localhost:8983/solr/nZ/update -H "Content-Type: text/xml" --data-binary ' <delete> <query>UserId:5629499534213120 AND SessionId:5066549580791808 AND Kind:event</query> </delete> '
<?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"><int name="status">0</int><int name="QTime">57</int></lst> </response>
我还查询了我要删除的文件.他们只有2个,他们都有Id字段. Id是字符串和架构的唯一键. JSON的多条件的查询语法是否与XML不同?