springboot集成solr时遇到的坑
做一个网络电视频道检索的项目!
在存储数据到solr中时候,被检索的字段有可能有全英文 有可能有全中文的,于是我在solr的实体类中定义了
@Field("title_cn") // 直接指定与 Solr 字段对应的名称
private String titleCn;
@Field("title_en")
private String titleEn;
这两个字段。
然后定义SolrIptvRepository的时候就遇到了坑
@Repository
public interface SolrIptvRepository extends SolrCrudRepository {
List findByName(String name);
}
上面的代码我在启动项目时一直报“Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type IptvForSolr!”这个错误。
经过多方查询和试验后,方法命中By 后面得根据真实字段命名。。。不然就会报错!!!
@Repository
public interface SolrIptvRepository extends SolrCrudRepository {
List findByTitle(String titleCn);
}
solr 我真是又爱又恨啊!!!
总结:继承SolrCrudRepository的Repository中查找方法必须By真实字段!!!!!
正文到此结束
- 本文标签: Linux Spring Spring Boot
- 本文链接: https://www.wangwenzhi.top/article/17
- 版权声明: 本文由王开心原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权