Thanks Shawn,

Most of the documents, at least I think so (I’ll get some telemetry on that), 
aren’t in Solr so doing a get for each one might mean putting more load on the 
system that is needed.  Looking a little more thought the docs I agree that 
doing it in Solr or in the client would be about the same performance. I’ve 
implemented what I mentioned before and it seems to be working quite well.  

Thank you,

-Cesar 

On 2023/03/25 02:50:52 Shawn Heisey wrote:
> On 3/22/23 12:22, Cesar Delgado wrote:
> > <field name="created_at" type="date" indexed="true" required="true" 
> > stored="false" docValues="true"/>
> > <field name="edited_at" type="date" indexed="true" required="false" 
> > stored="false" docValues="true"/>
> > <dynamicField name="*_count" type="long" indexed="true" stored="false" 
> > docValues="true"/>
> > Some of the documents might be modified and what I’d like to do is replace 
> > the document in the index IF any of the *_count values are greater than 
> > what is in Solr already or if the edited_at value is greater than the 
> > created_at or greater than the previous edited_at value. At the moment what 
> > I’m doing is inserting a document with _version_ = -1 and if I get an error 
> > then I get the document, do the checks I’ve explained in the application, 
> > and reindex if I need to. I’m curious to know if this is something I can 
> > push down to Solr? Doing 2 searches and 2 PUTs per document that is 
> > modified seems a bit excessive.
> 
> I do not know of anything built into Solr to do that.
> 
> Any capability like this that we might implement would be almost as slow 
> as doing it yourself ... there would be no great advantage other than 
> ease of use.  There are a lot of things that are simply better to do 
> client-side.
> 
> Why are you doing two queries and two puts?  The best way to handle this 
> (imho) would be:  Ask for an existing entry using the uniqueKey value 
> with the /get handler and then decide at that point whether you're going 
> to even do the indexing.  One step if the document exists and is later 
> than the proposed change, two steps if it does not exist or the existing 
> document is older.
> 
> Thanks,
> Shawn
> 

Reply via email to