solr无法删除任何内容

时间:2012-08-21 14:59:35

标签: java solr solrj

我正在尝试删除我的solr服务器上的文档,但它不起作用,我没有收到任何错误。

我尝试通过浏览器,curl和solrj删除,但没有任何作用。

(浏览器和卷曲,如下所述:Solr delete not working for some reason
我的solrj代码是:

server.deleteByQuery("*:*");
server.deleteById("*");
server.deleteById("guid:*");
server.commit(true, true);

UpdateRequest update = new UpdateRequest();
update.deleteByQuery("*:*");
update.setCommitWithin(0);
server.request(update);
server.commit(true, true);

SolrQuery query = new SolrQuery("*:*");//Search for everything/anything
query.setRows(10);
query.setRequestHandler("/query");
QueryResponse qr = server.query(query); 
SolrDocumentList result = qr.getResults();
for (SolrDocument doc : result) {
    Object id = doc.get("link");
    String names = (String) doc.get("description");
System.out.println(id + " " + names);
}

执行此操作后我总是得到结果,或者通过网络界面,没有任何变化(顺便提一下添加文档)。

任何人都有并且知道我可以尝试什么或者可能是什么原因?

更新

所以我尝试再次从头开始设置所有内容并将我的本地化错误源:solr不会删除我的Schema.xml文件的文档,我仍然不知道为什么: schema.xml on pastebin

3 个答案:

答案 0 :(得分:7)

我找到了原因: bug in solr 4.0.0 alpha

字段:

<field name="_version_" type="long" indexed="true" stored="true"/>
如果在solrconfig.xml中启用更新日志,则需要在schema.xml文件中删除

,如果没有此字段,则忽略删除更新查询。

<updateHandler class="solr.DirectUpdateHandler2">
  <updateLog>
    <str name="dir">${solr.data.dir:}</str>
  </updateLog>
</updateHandler>

每个使用solr中示例中的配置并且只更改Schema.xml文件的人都会遇到这种情况。

答案 1 :(得分:3)

我有一个像这样的工作代码:

SolrServer solrServer;
String url = "http://localhost:8080/solr";
solrServer = new HttpSolrServer(url);
solrServer.deleteByQuery("*:*");
solrServer.commit();

我的Solr版本是3.6.1。

答案 2 :(得分:0)

//Delete particular column using Solr

SolrServer solrServer;

solrServer = new HttpSolrServer(url);

solrServer.deleteByQuery("columnName:value");

solrServer.commit();