What you are missing is a final server.optimize(); Deleting a document will only mark it as deleted in the index until an optimize. If disk space is a real problem in your case because you e.g. update all docs in the index frequently, you can trigger an optimize(), say nightly.
-- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com Training in Europe - www.solrtraining.com On 6. aug. 2010, at 17.00, Vitaliy Avdeev wrote: > Hello. > I am deliting old data from solr such way. > > String url = "http://192.168.5.138:8080/apache-solr-1.4.0/"; > CommonsHttpSolrServer server = new > CommonsHttpSolrServer(url); > server.setDefaultMaxConnectionsPerHost(200); > server.setAllowCompression(true); > server.setMaxRetries(1); > > Calendar cal = Calendar.getInstance(); > cal.roll(Calendar.MONTH, false); > SimpleDateFormat sdf = new > SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); > String query = String.format("publishedDate:[* TO > %s]",sdf.format(cal.getTime())); > System.out.println(query); > server.deleteByQuery( query ); > server.commit(); > > Data disapears feom index but But HDD spaces doesn`t free. > > What I am doing wrong?