当我不知道文档有多少个字符串字段时,如何从 Solr 数据库动态创建 Java class

How can I dynamically create Java class from Solr db when I don't know how many String fields documents have

我正在开发一个基于外部 REST API 响应将动态字段添加到 solr 数据库的应用程序。字段具有后缀 *Txt。现在,我有例如带有 fistNameTxt、lastNameTxt 的文档。稍后我需要在 Java 应用程序上使用文档,我的 class 是:

@SolrDocument
@AllArgsConstructor
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResourceSolre {

    String firstNameTxt;
    String lastNameTxt;

}

问题是外部 API 可以更改文档并为我提供更多 String(甚至 Long)字段。 Solr 会将所有内容添加到数据库(因为它们是动态字段)但我的 class 将不再反映文档。问题是如何创建一个也将动态处理 Solr 文档的 class?

can use wildcards when mapping Solr fields到你自己的领域:

@Field("*_txt")
public Map<String, String> dynamicFieldsTxt;

这将为您提供一张地图,其中 <FieldName> 映射到 <Value>