上篇文章介绍了centos7.5 安装solr的配置。今天介绍通过springboot2.0+spring-data-solr 完成一个Product对象的新增。也记录下这次过程。
1、进入阿里云centos系统,进入solr的bin目录,创建一个collection,命令行代码如下:
./solr create -c Product -force
由于我直接用root操作,所以后面加了-force ,强制执行
2、配置spring boot2.0 工程,pom文件导入依赖,如下截图:
solr服务器我用的是最新的7.7.0
3、配置文档类
建立Productde 文档类,代码如下:
@SolrDocument(collection = "Product")
public class Product {
\t@Id
\t@Indexed(name = "id", type = "string")
\tprivate String id;
\t@Indexed(name = "name", type = "string")
\tprivate String name;
\tpublic String getId() {
\t\treturn id;
\t}
\tpublic void setId(String id) {
\t\tthis.id = id;
\t}
\tpublic String getName() {
\t\treturn name;
\t}
\tpublic void setName(String name) {
\t\tthis.name = name;
\t}
}
4、定义ProductRepository接口,此类我们暂时只继承Spring-data-solr提供的SolrCrudRepository,完成我们的新增和查询是没有问题的,
代码如下:
public interface ProductRepository extends SolrCrudRepository<product> {
public List<product> findByName(String name);
}
/<product>/<product>
5、进行solr 持久层的spring配置,代码如下:
@Configuration
@EnableSolrRepositories(
basePackages = "xin.clips")
@ComponentScan
public class SolrConfig {
@Value("${solr.host}") String solrURL;
@Bean
public SolrClient solrClient() {
return new HttpSolrClient.Builder(solrURL).build();
}
@Bean
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
return new SolrTemplate(client);
}
}
备注:Value solr.host 配置在application.properties中,配置格式如:solr.host=http://xxx.xx.x.x:8983/solr/
6、写我们的controller类,模拟新增和查询,代码如下:
/**
* @author www.clips.xin
* @description Product solr controller 示例
*/
@RestController
@RequestMapping("/api/product")
public class ProductController {
@Autowired
\tprivate ProductRepository productRepository;
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save() {
Product p = new Product();
p.setId("3");
p.setName("头孢拉定胶囊");
productRepository.save(p);
System.out.println("插入成功!");
return null;
}
@RequestMapping(value = "/get", method = RequestMethod.POST)
public String get() {
List<product> list= productRepository.findByName("头孢拉定胶囊");
Product p = list.get(0);
return "id"+p.getId()+",name:"+p.getName();
}
}
/<product>
7、启动程序,postman进行测试,截图如下:
浏览器打开:http://x.x.x.x:8983/solr/#/Product/core-overview 可以查看server端信息。
代码地址:https://github.com/yuanzongyu/tutorials/tree/master/persistence-modules/spring-data-solr
閱讀更多 全棧獨立開發者 的文章