2012-08-08 53 views
0

我想使用SolrJ來使用deleteByQuery方法,它不工作。 你能告訴我什麼是錯的?SolrJ deleteByQuery不能用於核心

這是工作(deleteByIds):

ArrayList<String> ids = new ArrayList<String>(); 
ids.add("id_1"); 
ids.add("id_2"); 
SolrServer solrServer = getSolrServerForCore(0); 
solrServer.deleteById(ids); 
UpdateResponse ur2 = solrServer.commit(); 

但是,這是行不通的:

SolrServer solrServer = getSolrServerForCore(0); 
solrServer.deleteByQuery("*:*"); 
solrServer.commit(); 
+0

你有什麼異常嗎?你能回覆嗎? – 2012-08-09 06:19:47

+0

deleteByQuery方法的響應是{responseHeader = {status = 0,QTime = 0}},提交的響應是{responseHeader = {status = 0,QTime = 20}}。至於例外情況,我沒有得到任何例外,我不知道如何達到日誌文件。 謝謝 – alon 2012-08-09 06:55:34

+1

檢查應用程序服務器日誌目錄。查詢看起來是正確的。必須有其他問題。 – 2012-08-09 07:00:17

回答

2

我已通過添加_version_場schema.xml中成功地解決了這個問題

+0

這很有趣!你能再詳細一點嗎? – javanna 2012-08-10 08:47:01

+0

我不確定我可以,但是您可以在[link](http://wiki.apache.org/solr/Per%20Steffensen/Update%20semantics#Description) – alon 2012-08-12 21:05:25