2013-06-16 13 views
20

Esperti di Elasticsearch,Come rendere elasticsearch aggiungere il campo data/ora a ogni documento in tutti gli indici?

Non sono riuscito a trovare un modo semplice per dire a ElasticSearch di inserire il campo _timestamp per tutti i documenti aggiunti in tutti gli indici (e tutti i tipi di documento).

vedo esempio per tipi specifici: http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/

e anche vedere l'esempio per tutti gli indici per un tipo specifico (utilizzando _all): http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

, ma sono in grado di trovare alcuna documentazione su aggiungerla da predefinito per tutti i documenti che vengono aggiunti indipendentemente dall'indice e dal tipo.

+0

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/indices-create-index.html –

risposta

26

È possibile farlo fornendolo durante la creazione dell'indice.

$curl -XPOST localhost:9200/test -d '{ 
"settings" : { 
    "number_of_shards" : 1 
}, 
"mappings" : { 
    "_default_":{ 
     "_timestamp" : { 
      "enabled" : true, 
      "store" : true 
     } 
    } 
    } 
}' 

che poi crea automaticamente una _timestamp per tutta roba che si inserisce nell'indice. Quindi dopo l'indicizzazione di qualcosa quando si richiede il campo _timestamp verrà restituito.

+0

Questo ha funzionato. Grazie Marcus. Considero che non è possibile definire questo come un'impostazione globale per tutti gli indici che è ok. Per chiunque voglia provarlo utilizzando il plug-in head elasticsearch, assicurarsi di specificare la richiesta POST e non GET. –

+0

@Marcus - Ho provato questo. Non riesco a vedere _timestamp nella visualizzazione di Kibana3 nello stesso modo in cui vedo _id, _index e _type. Qualche idea del perché? – liv2hak

+1

Ricordare che _timestamp deve essere richiesto come campo per essere restituito quando si esegue una query. Aggiungi {"campi": "_ timestamp"}. –

6

elasticsearch utilizzato per supportare automaticamente l'aggiunta di timestamp ai documenti da indicizzare, ma deprecated this feature in 2.0.0

Dal più recente (5.x) documentation:

I campi _TimeStamp e _ttl stati deprecato e sono ora rimossi. In sostituzione di _timestamp, , è necessario compilare un campo di data regolare con la data/ora corrente sul lato applicazione.

Problemi correlati