我有一个简单的Product类,如下所示
@SolrDocument(collection = "product")
public class Product {
@Id
@Indexed(name = "id", type = "string")
private String id;
@Field
@Indexed(name = "namex", type = "text_general", stored = false, searchable=true)
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我的问题是完全忽略了注释@Indexed。该字段的名称只是名称(而不是namex),并存储该字段。有什么猜测吗?
UPDATE 1 如果删除类型注释名称,但存储无效
答案 0 :(得分:0)
我通过修改创建SolrTemplate对象的bean来管理,如下所示:
@Bean
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
SolrTemplate st = new SolrTemplate(client);
st.setSchemaCreationFeatures(Collections.singletonList(Feature.CREATE_MISSING_FIELDS));
st.afterPropertiesSet();
return st;
}