我正在开发一个基于外部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文档的类?
您映射Solr的字段时,可以使用通配符来自己的领域:
@Field("*_txt")
public Map<String, String> dynamicFieldsTxt;
这将为您提供一个<FieldName>
映射到的 map<Value>
。