2013-10-08 38 views
3

每次我在Apache Solr實現運行刪除查詢Apache Solr實現刪除查詢3.6.2

i.e http://localhost:8983/solr/update?stream.body=<delete><query>id:APP 5.6.2*</query></delete>&commit=true 

    <response> <lst name="responseHeader"><int name="status">0</int><int name="QTime">61</int></lst></response> 

我得到的上述反應,當我詢問我的指數,看看是否與該ID的文檔已被刪除它仍然可以查詢我刪除的文檔。

我想知道什麼是最可靠的方法來知道文檔已經從solr索引中刪除?需要多長時間才能看到它是否被刪除?

我不相信Solr Reponse,因爲它知道刪除查詢完成了它所要做的事。

回答

3

想出答案QN,我張貼「ID:APP 5.6.2 *」

Solr的不那麼你需要逃避他們,所以當我做了解釋空白ID:APP \ 5.6.2 *它的工作。

另外你得到的Response xml並沒有實際的查詢成功的跡象。

這只是意味着HTTP請求已收到,作爲響應,您將獲得我在qn中發佈的xml。

發生了什麼是當我給id:APP 5.6.2 * =>這被解釋爲id:APP,它沒有找到一個id爲APP的文件,所以你想刪除的文件沒有被刪除。

所以查詢應該是

http://localhost:8983/solr/update?stream.body=<delete><query>id:APP\ 5.6.2*</query></delete>&commit=true 
1

您需要將Url中的刪除查詢參數向上移動。我懷疑它在查詢參數後會丟失。請嘗試以下操作:

http://localhost:8983/solr/update?commit=true&stream.body=<delete><query>id:APP 5.6.2*</query></delete>