测试数据
论文标题和摘要信息,数据行数 400 万行,数据大小2.6GB
测试环境
Intel Core2 Duo T7100 1.8GHz
2.0 GB of RAM
硬盘转速为 5400 转
普通笔记本电脑
Hubbledotnet 0.8.3.6 版本 + 盘古分词 1.2 版本
表结构
索引参数
这个参数设置索引时的并发线程数
Step 为 5000。这个参数指明每次批量索引的行数。
索引速度
400万数据,索引用时 8237秒,即每小时索引 174 万行。
我忘记将盘古分词改成最新版本了,如果用最新的2.0.1.0 版本,索引速度应该还可以提高30%左右。
索引文件大小
两个字段的索引文件大小总和为 624M
内存占用
HubbleTask 服务在400万数据时占用内存为 180M 左右,这其中有50M左右为盘古分词占用,20M左右为.net 自身占用,索引实际占用内存为110M左右。
查询速度
查询单个字
首次查询
用时320ms
第二次查询
用时2.23ms
首次翻页
用时295ms
查询多个字
采用 Match 方式首次查询
用时342ms
采用 Contains 方式首次查询
用时132ms
Contains 和 Match 的区别是Contains 对输入的单词分量按与方式匹配,Match是按或方式匹配。Contains 比 Match 更精确和快速。