zoukankan      html  css  js  c++  java
  • tantivy&lucene功能,写入性能对比

    硬件概述: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,详见写入性能。

    磁盘占用

    磁盘占用相差不大,详见写入性能。

  • 相关阅读:
    cf1100 F. Ivan and Burgers
    cf 1033 D. Divisors
    LeetCode 17. 电话号码的字母组合
    LeetCode 491. 递增的子序列
    LeetCode 459.重复的子字符串
    LeetCode 504. 七进制数
    LeetCode 3.无重复字符的最长子串
    LeetCode 16.06. 最小差
    LeetCode 77. 组合
    LeetCode 611. 有效三角形个数
  • 原文地址:https://www.cnblogs.com/vsop/p/11493045.html
Copyright © 2011-2022 走看看