大数据下xapian建索引速度问题可能的解决方案以及索引数据的压缩处理

2022-04-27 00:00:00 修改 数据 压缩 文件夹 生效

xapian索引速度解决方案:

种方案:

vi /etc/profile添加一行export XAPIAN_FLUSH_THRESHOLD=280000(默认是10000)

source /etc/profile 使修改对当前命令行生效

echo $XAPIAN_FLUSH_THRESHOLD一下查看是否生效

第二种方案:

vi ~/.bashrc添加一行export XAPIAN_FLUSH_THRESHOLD=280000

source一下

echo $XAPIAN_FLUSH_THRESHOLD一下查看是否生效(这里可以新打开命令行)

索引数据的压缩处理:

具体文档参考: http://xapian.org/docs/admin_notes.html#compacting-a-database
简单介绍一下,这个命令可以用来压缩xapian数据,并且可以合并多个数据文件夹到一个数据文件夹

这样做,可以带来,两点好处,点,数据文件中的一些btree的一些预留空间会被压缩掉,数据文件会减小,第二点就是,由于点数据减少带来的读取性能也有一定的提升。

但是推荐是在这些个数据库文件夹不会再被修改或新增记录时使用,因为compact会降低后续修改的性能,但是不阻止你后续修改。

我们的使用场景是对于建好的每个单独的索引数据库文件不会再有更多的修改,
所以适合我们做这样的操作。

操作命令示例如下:(我正在61服务器上执行的任务)
arthas@arthas:~/dev/data/20131129$ time xapian-compact -F --multipass _master_timeline_weibo_3853/ _master_timeline_weibo_3869/ _master_timeline_weibo_3885/ _master_timeline_weibo_3901/ _master_timeline_weibo_3861/ _master_timeline_weibo_3877/ _master_timeline_weibo_3893/ _master_timeline_weibo_3909/ compact_weibo

将~/dev/data/20131129目录下的_master_timeline_weibo_3853/ _master_timeline_weibo_3869/ _master_timeline_weibo_3885/ _master_timeline_weibo_3901/ _master_timeline_weibo_3861/ _master_timeline_weibo_3877/ _master_timeline_weibo_3893/ _master_timeline_weibo_3909/ 这8个weibo schema数据文件夹

压缩到~/dev/data/20131129目录的compact_weibo下,如上面红色标注后一个路径参数,为输出文件夹。


————————————————
版权声明:本文为CSDN博主「FaithEndFree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/like_a_fool/article/details/16989675

相关文章