温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - How can I dynamically create Java class from Solr db when I don't know how many String fields docume
java lucene solr solrj builder

其他 - 当我不知道有多少个字符串字段时,如何从Solr db动态创建Java类

发布于 2020-04-22 14:57:27

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

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

    String firstNameTxt;
    String lastNameTxt;

}

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

查看更多

提问者
Piotr Supel
被浏览
44
MatsLindh 2020-02-06 19:49

映射Solr的字段时,可以使用通配符来自己的领域:

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

这将为您提供一个<FieldName>映射到的 map<Value>