On 10/11/2012 2:02 PM, Shawn Heisey wrote:
UpdateResponse ur = server.optimize(true, true, 20);

What happens with this if I am already below 20 segments? Will it still expunge all of my (typically several thousand) deleted documents? I am hoping that what it will do is rebuild any segment that contains deleted documents and leave the other segments alone.

I have just tried this on a test system with 11 segments via curl, not SolrJ. I don't expect that it would be any different with SolrJ, though.

curl 'http://localhost:8981/solr/s0live/update?optimize=true&maxSegments=20&expungeDeletes=true&waitFlush=true'

It didn't work. When I changed maxSegments to 10, it did reduce the index from 11 segments to 10, but there are still deleted documents in the index -- maxDoc > numDocs on the statistics screen.

numDocs : 12782762
maxDoc : 12788156

I don't think expungeDeletes is actually a valid parameter for optimize, but I included it anyway. I also tried doing a commit with expungeDeletes=true and that didn't work either.

Is this a bug? The server is 3.5.0. Because I haven't finished getting my configuration worked out, I don't have the ability right now to try this on 4.0.0.

Thanks,
Shawn

Reply via email to