2017-09-28 3 views
0

ich diese Zuordnungsdatei haben:Indizierung mit mehreren Mapping-Typen

{ 
    "type1": { 
    "properties": { 
     "id": { 
     "type": "string", 
     "index": "not_analyzed" 
     } 
    }, 
    "type2": { 
    "properties": { 
     "id": { 
     "type": "string", 
     "index": "not_analyzed" 
     } 
    } 
    } 
} 

Und meine Klassen, die diese Zuordnung verwenden:

@Document(indexName = "cake", type = "type1") 
@Mapping(mappingPath = "/elasticsearch/config/mappings.json") 
public class TypeOneElasticEntity implements Serializable { 
} 

@Document(indexName = "cake", type = "type2") 
@Mapping(mappingPath = "/elasticsearch/config/mappings.json") 
public class TypeTwoElasticEntity implements Serializable { 
} 

Das Problem ist, dass, wenn ich indizieren möchten TypeTwoElasticEntity ich diese bekommen Fehler:
Root-Mapping-Definition hat nicht unterstützte Parameter "type1"
Also ich denke, ich muss eine zweite Datei verwenden. Aber ist es möglich, in dieser Situation mehrere Typen in einer Datei zu speichern?

Danke!

Antwort

1

Nein, eine index type hat eine Zuordnung. Die index types wird jedoch nicht mehr unterstützt und wird veraltet. Wenn Sie mehrere Zuordnungen haben, müssen Sie für jeden einen separaten Index erstellen.

+0

Vielen Dank für die Erklärung :) – Anna