使用搜索模块的时候,如果访问数据库,这样会导致数据库的访问压力增大,并且数据库的搜索效率低,不能分词匹配(数据库是完全匹配)
所以项目采用solr,solr是基于Lucene(是jar包,solr实现了Lucene)的全文搜索服务器。solr本身其实是一个NOsql数据库,操作sorl是通过一系列http请求和响应,所以官方提供一套API是sorlJ封装这些操作信息,也可以手动实现,有一种技术httpClient可以进行请求和响应,spring提供了spring data sorl 封装了sorlJ,这样简化了API
Lucene是jar包,solr是单独可以运行的。
solr可以搭建集群,也可以支持事务(只要涉及的增删改就的commit)
要了解Lucene的创建索引的过程(day9天有测试代码)
在solr中配置域的时候,有三个根据是:是否根据此域搜索,是否要搜出此域,是否要用到此域