Subject: SolrClient#updateByQuery?


Thx Emir!

> You are thinking too RDMS
maybe the DBQ "missled" me 😉

> The best you can do is select and send updates as a single bulk
how can I do "In-Place Updates" (https://lucene.apache.org/solr/guide/6_6/updating-parts-of-documents.html#UpdatingPartsofDocuments-In-PlaceUpdates) from/through SolrJ?

>Also use DBQ with caution - it does not work well with concurrent updates
we "prevent" this through sequentialization (per core )

Why do I want to do all this (dumb things)? The context is as follows:
when a document is deleted in an index/core this deletion is not immediately reflected in the searchresults. Deletions at not really NRT (or has this changed?). Till now we "solved" this brutely by forcing a commit (with "expunge deletes"), till we noticed that this results in quite a "heavy load", to say the least.
Now I have the idea to add a "deleted"-flag to all the documents that is filtered on on all queries.
When it comes to deletions, I would upate the document's deleted flag and then effectively delete it. For single deletion this is ok, but what if I need to re-index?

-----Ursprüngliche Nachricht-----
Von: Emir Arnautović [mailto:[EMAIL PROTECTED]]
Gesendet: Freitag, 26. Januar 2018 17:31
An: [EMAIL PROTECTED]
Betreff: Re: SolrClient#updateByQuery?

Hi Clemens,
You are thinking too RDMS. You can use query to select doc, but how would you provide what are updated doc? I guess you could use this approach only for incremental updates or with some scripting language. That is not supported at the moment. The best you can do is select and send updates as a single bulk.

Also use DBQ with caution - it does not work well with concurrent updates.

HTH,
Emir
--
Monitoring - Log Management - Alerting - Anomaly Detection Solr & Elasticsearch Consulting Support Training - http://sematext.com/

> On 26 Jan 2018, at 17:10, Clemens Wyss DEV <[EMAIL PROTECTED]> wrote:
>
> SolrClient has the method(s) deleteByQuery (which I make use of when I need to reindex).
> #updateByQuery does nicht exist. What if I want to "update all documents matching a query"?
>
>
> Thx
> Clemens