2015-12-14 77 views
0

我想通過在Solr 4.10.3上使用JSON的ID獲得簡單的REST刪除。Solr REST刪除JSON日誌警告並不會刪除文檔

這裏是捲曲:

curl http://server:9080/solr/oaConfigTest/update -H 'Content-type:application/json' -d '[{"delete": {"id":"9e58bcd8"}}]' 

我得到如下回應

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

但是,該文件不會被刪除(即使在提交後),我得到的日誌作爲一個警告如下:

12/14/2015, 2:52:55 PM WARN DistributedUpdateProcessor Unknown operation for the an atomic update,​ operation ignored: id 

列的實際名稱是uuid,所以我也嘗試了以下內容:

curl http://server:9080/solr/oaConfigTest/update -H 'Content-type:application/json' -d '[{"delete": {"uuid":"9e58bcd8"}}]' 

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

12/14/2015, 3:21:55 PM WARN DistributedUpdateProcessor Unknown operation for the an atomic update,​ operation ignored: uuid 

有人可以幫我用實際的JSON有效載荷刪除ID(字段名稱UUID)嗎?

回答

1

如果您的json有效負載以[開頭,Solr會認爲您想要發送要插入/更新的文檔列表。如果你離開了起點和終點的方括號

你的刪除請求應該工作:

{ 
    "delete": { 
    "id": "9e58bcd8" 
    } 
} 
+0

一個小側面說明,去除[]在命令行卷曲很好地工作。但是,使用HttpURLConnection將JSON負載嵌入到Java中時,需要使用[]。再次感謝您的幫助。 – bwoodson