update index elasticsearch ttl

update - insert document in index elasticsearch



¿Cómo hacer que elasticsearch document ttl funcione? (3)

Esto es lo que funciona para mí:

curl -XPUT ''http://localhost:9200/blog/user/_mapping'' -d ''{"user": {"_ttl": {"enabled": true, "default": 5000}}}'' curl -XPUT ''http://localhost:9200/blog/user/phb'' -d ''{"name" : "Pointy-Haired Boss"}'' sleep 60 # this is the default deletion interval for the expired documents curl -XGET http://localhost:9200/blog/user/phb # 404

Instalé el paquete Debian

Puedo enviar datos usando curl:

curl -XPUT ''http://mybox:9200/blog/user/dilbert'' -d ''{ "name": "Dilbert Brown" }''

Y buscarlo

curl -XGET ''http://mybox:9200/blog/user/dilbert''

resultado:

{ "_index": "blog", "_type": "user", "_id": "dilbert", "_version": 2, "exists": true, "_source": { "name": "Dilbert Brown" } }

Y búscalo con

curl -XGET ''http://mybox:9200/blog/user/_search?q=name:Dilbert+Brown&pretty=True''

Quiero presionar el mismo registro con ttl de 5 segundos y 5 segundos después obtener el código de estado de HTTP 404 al intentar obtener esta entrada. Además, la entrada no debería estar visible en los resultados de búsqueda.

NOTA: Intenté varias combinaciones de configuraciones de búsqueda de

Ninguno de ellos me ayudó.

¿Alguien puede mencionar una secuencia simple de pasos que me permita alcanzar el resultado deseado?


Tenga en cuenta que solo puede configurar TTL durante la creación de una nueva asignación (tipo). No puedes habilitarlo después de creado. Ya probé de muchas maneras para habilitarlo después del lanzamiento del producto, pero no puedo. De modo que debo actualizar el código para usar el nuevo que se creó con TTL enable. Para obtener más información, puedo ver aquí: http://grokbase.com/t/gg/elasticsearch/132v5y0w11/problem-with-ttl


@bereal tiene razón.

Para que ttl funcione, primero debe habilitarlo en la asignación (de manera predeterminada, está deshabilitado) y luego establecer el valor de TTL al indexar documentos.

curl -XPUT ''mybox:9200/blog/user/_mapping?pretty'' -d ''{ "user": { "_ttl": {"enabled": true} }'' curl -XPUT ''mybox:9200/blog/user/dilbert'' -d ''{ "name" : "Dilbert Brown", "_ttl": "3m"}'' curl -XGET ''mybox:9200/blog/user/dilbert?pretty''

Para más información, por favor haz referencia