I'm getting regular TTL exceptions in my elasticsearch setup during
updating documents. I want to figure out how exactly TLL works.
The more I read about it, the more confusing it gets.
I have several questions, hope anyone is willing to answer them:
*** Using elasticsearch 0.90.5
*** In my mapping I set the -tll to 30 days using "_ttl": { "enabled":
true, "default": "30d" }. I can confirm this works by querying the _mapping
endpoint. ***
- when I update an existing document, will the ttl be updated or not?
http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/docs-update.html
and also https://github.com/elasticsearch/elasticsearch/issues/3180 make
reference to the fact that the TTL will not be updated when you do an
update request. Which makes sense since you basically do a delete and
reindex for that document. However, on
http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/mapping-ttl-field.html
it states :
Note that the expiration procedure handle versioning properly so if a
document is updated between the collection of documents to expire and the
delete order, the document won’t be deleted.
Do the two resources conflict each other?
- Since I have a default ttl of 30days, I would expect my documents to
have a ttl of 2592000000ms at most. However, when I query for all the TTL's
in my index (using a statistical facet for example), the minum value I get
is 1407373291910ms, which is over 44 years!
http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/mapping-ttl-field.html
states that
If no default is set and no _ttl value is given then the document has an
infinite _ttl and will not expire.
Is this what happened here? Does the update query not (correctly / at all)
set the ttl?
http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/docs-index_.html#index-ttl
states:
The expiration date that will be set for a document with a provided ttl is
relative to the timestamp of the document
However; I have NOT set a timestamp OR enabled it in my mapping. As far as
I know my documents do not have any timestamp.
How does Elasticsearch compute the expiration date on these documents?
Any help would be much appreciated here . Thank you!
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/7104e6f2-83a8-4e74-a7e8-c8d718c196b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.