--- On Mon, 10/11/10, Claudio Atzori <claudio.atz...@isti.cnr.it> wrote:
> From: Claudio Atzori <claudio.atz...@isti.cnr.it> > Subject: deleteByQuery issue > To: solr-user@lucene.apache.org > Date: Monday, October 11, 2010, 10:38 AM > Hi everybody, > in my application I use an instance of EmbeddedSolrServer > (solr 1.4.1), the following snippet shows how I am > instantiating it: > > > File home = new > File(indexDataPath(solrDataDir, indexName)); > > > > container = new > CoreContainer(indexDataPath(solrDataDir, indexName)); > > > container.load(indexDataPath(solrDataDir, > indexName), new File(home, "solr.xml")); > > > > return new > EmbeddedSolrServer(container, indexName); > > and I'm going through some issues using deleteByQuery > method, in fact, when I try to delete a subset of documents, > or even all the documents from the index, I see as they are > correctly marked for deletion on the luke inspector > (http://code.google.com/p/luke/), but after a commit I > can still retrieve them, just like they haven't been > removed... > > I can see the difference and see the documents disappear > only when I restart my jetty application, but obviously this > cannot be a feature... any idea? I think you are accessing same solr index using both embedded server and http. The changes that you made using embedded server won't be reflected to http until a commit issued from http. I mean if you hit this url: http://localhost:8983/solr/update?commit=true the deleted documents won't be retrieved anymore. P.s. if you want to expunge deleted docs completely you can either optimize or commit with expungeDeletes = "true".