我正在开发一个应用程序,该应用程序根据外部 REST API 响应将动态字段添加到 solr DB。字段具有后缀 *Txt。目前,我有包含firstNameTxt、lastNameTxt 的示例文档。后来我需要在Java应用程序上使用文档,我的类是:
@SolrDocument
@AllArgsConstructor
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResourceSolre {
String firstNameTxt;
String lastNameTxt;
}
问题是外部 API 可以更改文档并为我提供更多字符串(甚至长整型)字段。 Solr 会将所有内容添加到数据库(因为它们是动态字段),但我的类将不再反射(reflect)文档。问题是如何创建一个也能动态处理 Solr 文档的类?
最佳答案
你can use wildcards when mapping Solr fields到你自己的领域:
@Field("*_txt")
public Map<String, String> dynamicFieldsTxt;
这将为您提供一张带有 <FieldName>
的 map 映射到<Value>
.
关于java - 当我不知道文档有多少个字符串字段时,如何从 Solr db 动态创建 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60091432/