solr

solr是一个基于Lucene的全文搜索服务器,相比Lucene更高效、使用更便捷,在进行模糊匹配的时候,他可以 用来替代数据库中的like ,从而在匹配准确性以及性能进行大幅度的提高。在建立索引的时候我们通过在scheama.xml配置IK分词器来完成中文分词。 从而实现了高亮显示关键词,分页,排序,多字段,多条件的高性能搜索。在从数据中取数据生成索引的时候,因为表中的数据量比较大,防止一次取出所导致内存溢出问题,我采用了分段批量提取的方式进行,除此之外我们对后续增加的数据根据优先级的不同采取不同的策略,对于那些需要及时显示的数据我们通过spring定时器  在短时间内(30分钟)进行增量索引的生成,对于那些不需要及时展示的数据,我们通过spring定时器在服务器相对空闲的时候(比如每天晚上凌晨)进行索引的重新生成。此外我们为了提高solr的搜索的性能对其进行主从复制。

你可能感兴趣的:(solr)