What do you store in keyword ?
It could be because of the nature of bloom_filters
CREATE TABLE fulltext
(
`keyword` String,
INDEX fulltext_index (keyword) TYPE ngrambf_v1(3, 1024, 2, 0) GRANULARITY 1
)
ENGINE = MergeTree()
ORDER BY (keyword);
insert into fulltext select arrayStringConcat(arrayMap( i -> toString(rand(i)%44545445), range(10)), ' ') from numbers(10000000)
SET send_logs_level = 'debug'
select count() from fulltext where keyword like '%aaa%';
0 rows in set. Elapsed: 0.002 sec.
Index `fulltext_index` has dropped 1221/1221 granules.
select count() from fulltext where keyword like '%33333333333%';
0 rows in set. Elapsed: 0.188 sec. Processed 10.00 million rows
Index `fulltext_index` has dropped 0/1221 granules