2016-04-12 8 views
-1

, wenn Sie Daten für die elastische Suche bereitstellen. Wie funktioniert das Mapping für diese Felder und Metadaten? Müssen wir das Mapping irgendwo definieren oder wird die elastische Suche automatisch durchgeführt, wenn Sie diese Daten für elasticsearch indizieren. Irgendwelche Ideen um das zu schätzen, werden als neu zu elasticsearch geschätzt.Veröffentlichen Sie Json-Daten in ElasticSearch

+0

Wenn Elasticsearch trifft ein bisher unbekanntes Feld in einem Dokument, verwendet es eine dynamische Abbildung der Datentyp für das Feld zu bestimmen, und fügt automatisch das neue Feld der Typzuordnung. [Quelle] (https://www.elastic.co/guide/en/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping). Ihre Frage ist mir etwas unklar. Wenn Sie neu formulieren könnten, könnte ich Ihnen mehr helfen. –

+0

danke für die Information. Ja, das ist der Fall der automatischen Erkennung im Falle eines dynamischen Mappings. Was ist, wenn wir das Gleiche mit statischem Mapping tun wollen, wo wir das Mapping vor der Indizierung für die elastische Suche definieren? Wo machen wir das statische Mapping? Brauchen wir eine JSON-Mapping-Datei? – user3161879

+0

So erstellen Sie ein Mapping, bevor Sie Daten indexieren: [link] (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) –

Antwort

1

Für elasticsearch ist es nicht notwendig ein Mapping zu definieren. Es bietet eine automatische Zuordnung, die den Typ jedes Felds beim Hinzufügen des ersten Dokuments erkennt.

Zum Beispiel durch Hinzufügen von Dokument folgenden:

{ 
    "doc": { 
     "user": "Max", 
     "createdAt": "2016-04-12T23:00:00", 
     "age": 20 
    } 
} 

Elasticsearch löst die folgende Abbildung:

{ 
    "test" : { 
    "mappings" : { 
     "doc" : { 
     "properties" : { 
      "user" : { 
      "type" : "string" 
      }, 
      "createdAt" : { 
      "type" : "date", 
      "format" : "dateOptionalTime"  
      }, 
      "age" : { 
      "type" : "long"      
      } 
     } 
     } 
    } 
    } 
} 

Wenn Sie die Struktur eines Index definieren bevorzugen Sie auch vor dem Abbilden im JSON-Format zur Verfügung stellen können Sie fügen die Dokumente hinzu.

Für weitere Informationen, lesen Sie in diesem Link: https://www.elastic.co/guide/en/elasticsearch/hadoop/current/mapping.html

Verwandte Themen