重启 Cassandra 后,Lucene 索引不起作用

Posted

技术标签:

【中文标题】重启 Cassandra 后,Lucene 索引不起作用【英文标题】:After restart Cassandra, Lucene index is not working 【发布时间】:2018-11-09 10:55:45 【问题描述】:

同时检查 Cassandra 的错误日志文件,在日志文件中没有发现任何警告或错误。尝试重建索引但不工作。再次需要插入以继续 Lucene 索引。但我的其他表工作正常。按照我目前面临的问题的表。当前分区键是文本字段。

CREATE TABLE app_countries(
    country_name text,
    id timeuuid,
    "__v"
    timeuuid,
    continent_code text,
    country_calling_code text,
    created_at timestamp,
    currency text,
    image frozen < imageinfo > ,
    in_eu boolean,
    is_active boolean,
    is_deleted boolean,
    iso_code2 text,
    iso_code3 text,
    latitude float,
    longitude float,
    lucene text,
    sort_order int,
    timezone text,
    updated_at timestamp,
    utc_offset text,
    PRIMARY KEY(country_name, id)
) WITH CLUSTERING ORDER BY(id DESC)
AND bloom_filter_fp_chance = 0.01
AND caching = 
    'keys': 'ALL',
    'rows_per_partition': 'NONE'

AND comment = ''
AND compaction = 
    'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
    'max_threshold': '32',
    'min_threshold': '4'

AND compression = 
    'chunk_length_in_kb': '64',
    'class': 'org.apache.cassandra.io.compress.LZ4Compressor'

AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
CREATE INDEX app_countries_id_idx ON app_countries(id);
CREATE CUSTOM INDEX app_countries_lucene_idx ON app_countries(lucene) USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = 
    'refresh_seconds': '1',
    'schema': '"fields":"id":"type":"uuid","country_name":"type":"string","case_sensitive":false,"currency":"type":"string","country_calling_code":"type":"string","is_active":"type":"boolean","is_deleted":"type":"boolean","sort_order":"type":"integer","created_at":"type":"date","pattern":"dd/MM/yyyy"'
;

Cassandra 版本:3.11.3

【问题讨论】:

你的意思是它不工作?索引文件消失了吗?使用索引查询会得到什么? 问题是在Cassandra重启后查询匹配的情况下不返回任何内容。如果我新插入它只返回新索引,而不是以前的数据。 你使用的是什么版本的 Lucene 索引? 【参考方案1】:

我不知道您使用的是哪个版本的 Cassandra Lucene 索引,但如果您或任何人仍然面临同样的问题,从评论 here 看来这是一些旧版本的问题,它是 fixed在较新的版本中,因此请检查您正在使用的版本是没有遇到问题的新版本,并按照build steps 生成 jar。

【讨论】:

以上是关于重启 Cassandra 后,Lucene 索引不起作用的主要内容,如果未能解决你的问题,请参考以下文章

找不到自定义索引器类“com.stratio.cassandra.lucene.Index”

Cassandra 与 Stratio lucene 索引

选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2

cassandra lucene 索引是不是适用于 vnode?说 num_tokens = 256

如何使用 Stratio Cassandra Lucene Index 进行小写前缀过滤

Cassandra 集群重启后没有恢复?