2010-03-01 112 views
26

只是想刪除所有文件,並且這樣做:Solr的刪除工作不因某種原因

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E 

則承諾:

http://localhost:8983/solr/update?stream.body=%3Ccommit/%3E 

我得到的迴應:

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

但是當我搜索我仍然得到結果。

我做錯了什麼?

+0

Solr日誌中沒有錯誤? – 2010-03-02 02:41:49

+0

solr日誌在哪裏,我找不到它!我在碼頭上跑步。 – Blankman 2010-03-02 17:49:50

+0

沒關係,如果你有迴應,沒有錯誤。你的客戶平臺是什麼?如果它是Java,你可以使用SolrJ,或者有什麼特別的原因,你沒有使用它? – 2010-03-02 22:07:50

回答

30

不知道它的問題,但你可能編碼:太

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*%3A*%3C%2Fquery%3E%3C%2Fdelete%3E 

另一件事是嘗試使用POST方法(首選方法來調用更新):

curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>' 
+2

然後我運行一個單獨的'代碼'(http:// localhost:8983/solr/update?stream.body = )命令運行後。非常感謝 – 2011-07-07 14:44:28

0

在Lucene的維基:

仍然會發現,因爲指數 變化是不可見的,直到和 新搜索者已打開。導致此 發生,發送commit命令 Solr的(post.jar由 默認爲您完成此)

也許你可以張貼<commit/>消息到Solr。

6

把提交= true參數在你GET請求:

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&commit=true

2

記住清除瀏覽器緩存!我以爲我遇到了同樣的問題,但事實證明,瀏覽器只是緩存了結果並返回了緩存頁面。 D'哦!

0
http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true 
-2

可能您在更新後和問號之前缺少正斜槓(/)。

目前查詢:

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

修訂查詢:

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

我買了這一個刺痛了最近爲好。只要記住,如果你有updateLog在solrconfig.xml中配置,但在schema.xml中沒有

看到https://issues.apache.org/jira/browse/SOLR-3432

我花了在這一個鐘頭!

+0

意見非常好。這正是我的問題。 – Layke 2013-01-04 01:24:16

+0

+1非常感謝!這會浪費我整整一天的時間! – 2013-01-29 09:31:16

+0

+1你節省了我的一天! – heinob 2013-06-12 20:38:11