在我的Elasticsearch中,我有以下文档:
{
"_index" : "neo4j-index-node",
"_type" : "Decision",
"_id" : "1620",
"_score" : 1.0,
"_source" : {
"name.value" : "Default name",
"name_en.value" : "Name [EN]",
"name_fr.value" : "Name [FR]",
"name_it.value" : "Name [IT]",
"createDate" : 1511779747939
}
}
目前,我不知道确切的姓名。*属性。它们可能因文档而异。例如,一个文档只能包含" name_en.value"但另一个 - " name_fr.value"和" name_es.value"
目前我还不知道如何在Spring Data Elasticsearch模型中处理这些属性。我有以下课程:
@Document(indexName = ESDecision.INDEX_NAME, type = ESDecision.TYPE)
public class ESDecision {
public static final String INDEX_NAME = "neo4j-index-node";
public static final String TYPE = "Decision";
@Id
private String esId;
...
}
不幸的是,我不知道确切的属性,以便将它们静态地添加到此模型中。
如何为这个类添加对这些动态属性的支持?例如,是否可以使用Map<String, String> nameMap
属性将所有这些属性作为此映射中的键,并在这些键下放置适当的值?