I've done exactly the same thing. On error, set the batch size to one and try 
again.

wunder

On Feb 26, 2013, at 12:27 PM, Timothy Potter wrote:

> Here's what I do to work-around failures when processing batches of updates:
> 
> On client side, catch the exception that the batch failed. In the
> exception handler, switch to one-by-one mode for the failed batch
> only.
> 
> This allows you to isolate the *bad* documents as well as getting the
> *good* documents in the batch indexed in Solr.
> 
> This assumes most batches work so you only pay the one-by-one penalty
> for the occasional batch with a bad doc.
> 
> Tim
> 
> On Tue, Feb 26, 2013 at 12:08 PM, Isaac Hebsh <isaac.he...@gmail.com> wrote:
>> Hi.
>> 
>> I add documents to Solr by POSTing them to UpdateHandler, as bulks of <add>
>> commands (DIH is not used).
>> 
>> If one document contains any invalid data (e.g. string data into numeric
>> field), Solr returns HTTP 400 Bad Request, and the whole bulk is failed.
>> 
>> I'm searching for a way to tell Solr to accept the rest of the documents...
>> (I'll use RealTimeGet to determine which documents were added).
>> 
>> If there is no standard way for doing it, maybe it can be implemented by
>> spiltting the <add> commands into seperate HTTP POSTs. Because of using
>> auto-soft-commit, can I say that it is almost equivalent? What is the
>> performance penalty of 100 POST requests (of 1 document each) againt 1
>> request of 100 docs, if a soft commit is eventually done.
>> 
>> Thanks in advance...

--
Walter Underwood
wun...@wunderwood.org



Reply via email to