这个问题也是here。
我的Elassandra 6.2.3.7有3个节点的集群。 我已经在Cassandra中创建了键空间和表,然后通过 PUT API 在ES中创建了相应的索引。
我也将gc_grace_seconds
修改为21600,结构如下:
CREATE KEYSPACE mykeyspace WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '1'} AND durable_writes = true;
CREATE TABLE mykeyspace .mytable(
event_datetime timestamp,
agent text,
f1 text,
....
PRIMARY KEY (f1, event_datetime)
) WITH CLUSTERING ORDER BY (event_datetime 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 = 21600
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 CUSTOM INDEX elastic_mytable_idx ON mykeyspace .mytable () USING 'org.elassandra.index.ExtendedElasticSecondaryIndex';
在使用NodeJS cassandra-driver将一些数据插入Cassandra后,我注意到在ES索引中有太多关于Cassandra的文档。这是由于ES中的某些文档以某种方式为“空”引起的,存在的唯一字段是_id
,_index
,_type
和_score
,而没有{ {1}}包含我的数据的字段。
没有_source
字段的文档示例
_source
我也向卡桑德拉查询了....
"hits": {
"total": 4,
"max_score": 10.738641,
"hits": [
{
"_index": "myindex",
"_type": "mytype",
"_id": """["p1",1543540357000]""",
"_score": 10.738641
},
...
,结果是正确的,里面没有奇怪的条目。
_id
之后,这些空文档消失了,但是,经过一个晚上的工作,空文档又回来了。
用例:
一个nodejs程序将执行以下操作:rebuild_index
来自Cassandra的数据,read
代表Cassandra的记录,delete
代表Cassandra的数据。
这种行为是否可能是由紧致过程引起的?
什么会导致这种行为?
问题可能类似于#226