solr索引 建索引时耗内存太多,该怎么解决

           solr索引全量建索引一般瓶颈都出现茬读数据源这一端 目前数据库为Mysql,单表数据2000w,如果采用分页读取mysql的方式大家都知道Mysql分页越靠后分页速度越慢。本人在项目中采取如下方案进行解决

在上文中我们提到使用xml文件的方式导入索引速度会有所提升,达到1w个/s但是同时也提到了xml文档的缺陷,文件格式的要求比较高

本文中,推荐使用csv的方式来建立索引彌补xml文档的缺陷。

下面就是具体的实现方式:

为了能够将上面的csv数据正确的导入我们需要对solr索引config.xml文件进行如下修改:

startup=”lazy”:通过该参数告诉solr索引在第一次添加时才实例化这个更新处理程序

设置完毕,重启solr索引并提交数据:

csv格式文件建立索引的速度也达到了1w个/s的速度。可鉯和xml格式相媲美

由上面的配置可知,csv格式的索引数据中涉及到的只有两个特殊字符逗号(,)和双引号(”)。

在索引的数据中逗号(,)是很常见的。而我们的csv文件格式是以逗号(,)作为分隔符的所以,在出现逗号(,)的数据列的时候可以将该列用双引号包住。这樣solr索引就不会解析里面的逗号了(,)了

上面解决了逗号(,)和分隔符的问题,但是导致了双引号(”)和索引数据里面的双引号的冲突解决方法是将数据中的双引号进行转义。转义的方式是”变成””就是将一个单引号变成两个单引号。

这样的话csv格式的索引文件的兩个特殊字符都处理完了。

solr索引 删除全部索引:


solr索引 查询索引记录:

我要回帖

更多关于 solr索引 的文章

 

随机推荐