Spring Data Elasticsearch动态属性

时间:2017-11-27 11:43:19

标签: elasticsearch spring-data-elasticsearch

在我的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属性将所有这些属性作为此映射中的键,并在这些键下放置适当的值?

0 个答案:

没有答案