Hi, Am 25.10.2011 23:53, schrieb Shawn Heisey: > On 10/20/2011 11:00 AM, Shawn Heisey wrote: >> [...] I've noticed a performance discrepancy when >> processing every one of my delete records, currently about 25000 of >> them.
I din't understand what a delete record is. Do you delete records in Solr? This shouldn't be done using records (what is a record in this case? A document?); use a query for that. Or do you add documents that you call delete records? > I've managed to make this somewhat better by using multiple threads to > do all the deletes on the six large static indexes at once, but that > shouldn't be required. The Perl version doesn't do them at the same time. Are you sure? I don't know about the perl client, but maybe it's doing the network operation in background? I a single-thread environment, the client has to wait when sending each request until it has been completely sent to the server, doing nothing. Multiple threads can help you a lot here. You can check this when you monitor your client's cpu load. > 10:27 < cedrichurst> the only difference i could see is deserializing > the java binary object This is true, but only in theory. Serializing and deserializing is so fast that this shouldn't impact. If you really want to be sure, use a SolrInputDocument instead of annotated classes when sending documents, but as I said, this shouldn't matter much. What's more important: Don't send single documents but rather use add(Collection) with multiple documents at once. At least when I understood you correctly that you want to send 25000 documents for update... -Kuli