2013-05-20 15 views
6

Appena iniziato a usare elasticSearch oggi. Mi stavo chiedendo se sarebbe possibile impostare in qualche tipo di parametro globale per utilizzare sempre un certo campo all'interno di un documento come ID?Usa il campo esistente come id in elasticsearch

miei documenti JSON avrà sempre il proprio ID univoco

{ 
    "Record ID": "a06b0000004SWbdAAG", 
    "System Modstamp": "01/31/2013T07:46:02.000Z", 
    "body": "Test Body" 
} 

Qui vorrei usare ID record come il campo ID.

saluti

risposta

2

Si desidera utilizzare l'impostazione percorso, vedere la documentazione qui:

http://www.elasticsearch.org/guide/reference/mapping/id-field/

specificatamente qualcosa di simile dovrebbe funzionare nella vostra mappatura:

{ 
    "your_mapping" : { 
     "_id" : { 
      "path" : "Record ID" 
     } 
    } 
} 

I' non ho mai provato a far dividere i nomi delle variabili. Si potrebbe desiderare di camelcase o sottolinearli se si esegue wierdness.

+0

Quando ci sto provando, continuo a recuperare il tipo di mapping degli errori. –

+1

@CoolTechie Dovresti id a livello di testo e non sotto proprietà. Per esempio: ppings ": { "your_mapping": { "_id": { "percorso": "Record ID" }, "proprietà": { "Record ID": { "tipo":" stringa " }, –

+7

nota che è obsoleto in elasticsearch 1.5, vedere https://github.com/elastic/elasticsearch/issues/6730 per maggiori dettagli – Utopik

Problemi correlati