严格来说,lucene负责数据存储,而solr只是一个引擎提供搜索和插入而已,跟数据库的解释器一样,有什么好处呢,比如一个数据库有一个字段存了1000个字,你想从这些字里面搜一个词的时候,普通的数据库只会让你使用like去查询,他会遍历每个字去模糊匹配,效率很低,而且有些是无法查询的,当然除了像一些特殊的数据库带有分词,比如postgresql,那lucene做的事情就是分词,然后去匹配分词的词中是否有你想搜的词就好了,当然了,为了提高这种检索效率和内存节省底层做了很复杂的事情,可以这么简单的认为,全文搜索这件事情上数据库是无法满足的
solr的三个配置文件:
1、solrconfigxml
只配置一次就够了
2、data-configxml
配置数据库与solr搜索的映射关系,需要按实际情况处理
3、schemaxml
配置solr搜索字段
可以通过定时任务实现solr与数据库数据的的一致性、比如每天夜里某个时间点、对数据进行更新同步。更新分两种、一种叫增量,是在之前的数据的基础上,将变动的数据进行更新;另一种叫全量更新、是直接删除原来的数据、全部导入新的数据。。。我就知道这些
以上就是关于solr给数据库做索引有什么好处全部的内容,包括:solr给数据库做索引有什么好处、如何在solr配置文件里添加新的搜索字段、如何保证solr跟数据库的数据一致性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)