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,详见写入性能。

    磁盘占用

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

  • 相关阅读:
    QT中PRO文件写法的详细介绍,很有用,很重要!
    What is the difference between authorized_key and known_host file for SSH
    SHELL DATE 命令详解
    Sample program to use PC/SC API.
    如何让用户关闭客户端IE时,触发Session_End事件
    Sql Create Function简单例子
    Css2.0实现圆角边框
    运算符重载的一个例子
    HTML获取URL传递的参数
    C#中自定义属性的例子
  • 原文地址:https://www.cnblogs.com/vsop/p/11493045.html
Copyright © 2011-2022 走看看