使用大文本查询二级索引

时间:2018-02-22 11:34:11

标签: apache indexing cassandra cassandra-3.0

我有一张如下表格,

CREATE TABLE log (    
"date" text,     
"timestamp" timestamp, "message" text,"module" text,"userId" text,
primary key ("date","timestamp")) with clustering order by ("timestamp" DESC);

我在'消息上创建SASI索引的位置'列,具有更多字符,我们可以在每个日志消息列中预计大约250个字符。对具有更多字符数的列进行索引会对性能产生影响吗?

select * from log where date = '20180223' AND message LIKE '%test%'

谢谢,
哈利

1 个答案:

答案 0 :(得分:0)

根据此presentation from 2016th,SASI使用Guava的ConcurrentSuffixTree实现,允许构建suffix tree以执行有效搜索。我不知道Guava的实现,但理论上在索引期间使用的空间和执行时间将线性增长到字符串的长度。但是因为索引tex需要比文本本身更多的存储空间,所以在执行搜索时可能会有一些开销。

P.S。但是一切都应该在现场系统上进行测试。