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 >
