Updating a field without reindexing the document


(Mathijs) #1

Hi,

My question is: can I update a non-indexed field of a document without the
whole document gets reindexed?

Reason for asking:
I want to implement a "trending documents" search. My plan is to use custom
scoring that uses two fields (a date and a numbers of views) to calculate a
trending value and use it for scoring. This is already working nicely
(custom scoring script, rescorer).
However, I'd like to update one of these fields (number of views on the
document) very frequently to get an up to date view on what's hot.
Currently I'd be looking at updating around 20,000 to 100,000 docs per
couple of minutes.

What would be the best way to do this? I'd like to keep this in ES because
I can then combine it with keyword searches/filter ('most trending on topic
X')

If I understand correctly, the update api always does a re-index of the
whole document, even when the updated field is non-indexed. Is there a
reason for this? The updated field is just payload used for scoring...
I'm asking because it might increase performance if indexing can be skipped.

Thanks,
Mathijs

--

Kalooga | Visual Relevance

Kalooga

Helperpark 288
9723 ZA Groningen
The Netherlands
+31 50 2103400

www.kalooga.com
info@kalooga.comKalooga EMEA

53 Davies Street
W1K 5JH London
United Kingdom
+44 20 7129 1430Kalooga Spain and LatAM

Maria de Sevilla Diago No 3
28022 Madrid - Madrid
Spain
+34 670 580 872

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #2