tantivy&lucene功能,写入性能对比
2024-08-29 03:36:40
硬件概述:cpu:24,内存:20g,磁盘:10*2.7T。
写入性能:(不对ip进行添加geo信息)。
写入性能对比 |
速度 |
Commit耗时(秒) 500*1000条 |
Bulk耗时(秒) 1000条dns |
Bulk耗时(秒) 1000条tcpflow |
Bulk耗时(秒) 1000条weblog |
Cpu占用 |
磁盘使用 |
数据量tcpflow |
线程配置 |
tantivy |
155272 |
6-19 |
0.01-0.06 |
0.1-0.2 |
0.1-0.2 |
40-80 us, 5-15 sy |
20-90 |
4_000_000条,870M |
10*2+10*2*3 |
lucene |
151633 |
3-4 |
0.2-0.3 |
1.3-1.4 |
1.3-1.4 |
60-80 us, 5sy |
20-90 |
4_500_000条,1.3G |
10*5 |
功能:
Query:查询功能。
Query |
TermQuery |
BooleanQuery |
WildcardQuery |
PhraseQuery |
RangeQuery |
FuzzyQuery |
RegexpQuery |
ConstantScoreQuery |
PrefixQuery |
tantivy |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
lucene |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Collector:用来在查询时获取doc的field信息,用来排序,过滤,聚合等。
Collector |
TopCollector |
TimeLimitingCollector |
CountCollector |
tantivy |
Y |
N |
Y |
lucene |
Y |
Y |
N |
Docvalues/fastfield:通过docvalues获取doc的field信息,用来排序,过滤,聚合等。
|
Docvalues/fastfield |
tantivy |
fastfield(目前仅支持数字) |
lucene |
Docvalues |
IndexWriter: 写数据。
IndexWriter |
Flush(不fsync,数据可能在buffer) |
Commit(fsync到磁盘) |
tantivy |
N(目前未发现) |
Y |
lucene |
Y |
Y |
总结:
功能
tantivy已实现了lucene的大多数功能。具体差异见上表。
写入性能
整体写入性能相近。
bulk索引数据时,tantivy速度快于lucene。
执行commit时,tantivy不如lucene,详见写入性能。
磁盘占用
磁盘占用相差不大,详见写入性能。
最新文章
- Squirrel: 通用SQL、NoSQL客户端
- 关于delphi7的四舍五入
- Sqlserver 2008清除数据库日志
- openmp 的使用
- jQuery笔记总结
- jQuery基础_1
- [wikioi 1307][poj 2054]欧少堆(乱搞)
- msSQL数据库备份还原小结
- Codevs 4189 字典(字典树Trie)
- 微软源代码管理工具TFS2013安装与使用图文教程
- 教你使用vim表白
- iOS对UIViewController生命周期和属性方法的解析
- HTTP协议形象展现
- 关于weak
- linux下数学运算器:expr命令(shell中完成数学运算)
- C语言的产生
- 在Windows下同时安装Python2.x和Python3.x
- Linux cpu 内存 压力测试
- Nginx篇--解读nginx配置
- fail to resolve com.umeng.analytics:analytics:latest.integration
热门文章
- SuperSocket 中内置的 Flash/Silverlight 策略服务器
- 洛谷P1981 表达式求值 题解 栈/中缀转后缀
- HTML让文字在图片上显示的几种方法
- uni-app学习记录07-生命周期
- Netty进行文件传输
- H3C ACL规则的匹配顺序
- java 集合类 &; 容器
- java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceImpl.BankServiceImpl
- 配置gitignore后使其生效命令
- Argus--[优先队列]