2013-05-20 7 views
6

Sie haben gerade mit elasticSearch begonnen. Ich frage mich, ob es möglich wäre, irgendeinen globalen Parameter zu setzen, um ein bestimmtes Feld innerhalb eines Dokuments immer als ID zu verwenden?Verwenden Sie das vorhandene Feld als ID in elasticsearch

Meine JSON Dokumente haben immer eine eigene eindeutige ID ist

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

Hier würde ich Record ID als ID-Feld verwenden möchten.

Grüße

Antwort

2

Sie möchten den Pfad Einstellung verwenden, finden Sie die Dokumentation hier:

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

speziell so etwas wie dies sollte in Ihrem Mapping arbeiten:

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

I‘ Ich habe nie versucht, Variablennamen zu teilen. Vielleicht möchtest du sie aufrollen oder unterstreichen, wenn du auf Wahnsinn triffst.

+0

Wenn ich dies versuche, bekomme ich den Fehler Zuordnungstyp fehlt. –

+1

@CoolTechie Sie sollten ID auf der Typenebene und nicht unter Eigenschaften. Für zB: ppings ": { "your_mapping": { "_id": { "Pfad": "Record ID" }, "Eigenschaften": { "Record ID": { "type":" string " }, –

+7

Beachten Sie, dass es in elasticsearch 1.5 veraltet ist, siehe https://github.com/elastic/elasticsearch/issues/6730 für weitere Details – Utopik

Verwandte Themen