Sending one document at a time is still using the bulk load API, just 
inefficiently. :-)

It really is not transactional. No rollback, no isolation, Just not ACID at 
all. 

wunder
Walter Underwood
wun...@wunderwood.org
http://observer.wunderwood.org/  (my blog)

> On Aug 14, 2025, at 7:00 PM, Gus Heck <gus.h...@gmail.com> wrote:
> 
> Only good way. ;) I've seen folks feed one doc at a time  and force a
> commit once per doc. It's not transactional per se, but defintely not bulk
> either.
> 
> http://www.needhamsoftware.com (work)
> https://a.co/d/b2sZLD9 (my fantasy fiction book)
> 
> On Thu, Aug 14, 2025, 9:14 PM Walter Underwood <wun...@wunderwood.org>
> wrote:
> 
>> Short version, bulk upload is the only way to get data into Solr. There is
>> no transactional interface.
>> 
>> wunder
>> Walter Underwood
>> wun...@wunderwood.org
>> http://observer.wunderwood.org/  (my blog)
>> 
>>> On Aug 14, 2025, at 5:53 PM, Gus Heck <gus.h...@gmail.com> wrote:
>>> 
>>> Hi and welcome :)
>>> 
>>> There are a variety of interfaces that you can use to send multiple
>>> documents at a time. (you can start on this, page, more info on the next
>>> few pages as well
>>> 
>> https://solr.apache.org/guide/solr/latest/indexing-guide/indexing-with-update-handlers.html
>>> )
>>> 
>>> Sending in batches using those interfaces is standard practice.
>>> 
>>> If you mean pre-calculating the indexed data to minimize load on the
>>> server, then pre-indexed fields are one option. (
>>> 
>> https://solr.apache.org/guide/solr/latest/indexing-guide/external-files-processes.html#the-preanalyzedfield-type
>> )
>>> - for that JesterJ (a project I (mostly) wrote) has some built in
>> support:
>>> 
>>> 
>> https://github.com/nsoft/jesterj/blob/master/code/ingest/src/main/java/org/jesterj/ingest/processors/PreAnalyzeFields.java
>>> - I've used that particular processor in one project successfully so far.
>>> 
>>> I've also heard of folks indexing on one system and then copying or
>>> replicating indexes to a destination system. (this is a custom engineered
>>> type of thing)
>>> 
>>> All of the above is subject to our commit intervals and/or manual commit
>>> requests (typically only use the manual requests in special cases with
>>> careful planning)
>>> 
>>> So there are several possibilities (and also some I haven't mentioned
>>> involving streaming expressions), but it would help to have a more
>> detailed
>>> description of the problem you are trying to solve (as opposed to asking
>>> after the solution you expect to need).
>>> 
>>> -Gus
>>> 
>>> http://www.needhamsoftware.com (work)
>>> https://a.co/d/b2sZLD9 (my fantasy fiction book)
>> 
>> 

Reply via email to