lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Walter Underwood <wun...@wunderwood.org>
Subject Re: SolrClient#updateByQuery?
Date Fri, 26 Jan 2018 17:50:26 GMT
Use a filter query to filter out all the documents marked deleted.

Don’t use “expunge deletes”, it does more than you want because it forces a merge. Just
commit after sending the delete.

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


> On Jan 26, 2018, at 8:55 AM, Clemens Wyss DEV <clemensdev@mysign.ch> wrote:
> 
> 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:emir.arnautovic@sematext.com] 
> Gesendet: Freitag, 26. Januar 2018 17:31
> An: solr-user@lucene.apache.org
> 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 <clemensdev@mysign.ch> 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
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message