Skip to content

Text index: Add a StringZilla-based tokenizer #111696

Description

@rschu1ze

ClickHouse's text index provides the asciiCJK tokenizer (first added here, it was later renamed). It uses ICU to split Chinese, Japanese and Korean inputs into tokens.

The recent StringZilla 5.0 release added equivalent functionality (maybe even a drop-in replacement) to tokenize inputs, see the docs here. I'm pretty sure that @ashvardanian (main author of StringZilla) went great length to make the tokenization in StringZilla faster than in ICU.

We should test that out. Basically:

  • bump the existing StringZilla submodule in ClickHouse to 5.0
  • introduce a new tokenizer asciiCJK_v2 based on asciiCJK but using Stringzilla's UTF8 segmentation (in case of success, the latter will be deprecated)
  • do benchmarking ... lots of benchmarking to prove the new tokenizer has a tangible performance benefit

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions