-
Notifications
You must be signed in to change notification settings - Fork 472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initialize metadata and tag indexing encoding for RediSearch #2066
Initialize metadata and tag indexing encoding for RediSearch #2066
Conversation
How can we list all indexes efficiently? 🤔 |
Like RediSearch, we will track all HASH and JSON commands and adjust our indexes accordingly. |
I mean, when start the process, we should "LIST" all indexes |
Ahh I got your point. I think we can add a common prefix for all index key, or put them to a new CF. Currently I prefer the latter. |
This skeleton code looks good to me. I also prefer the latter one if we want to keep the common prefix since the current column families are not for this purpose. But we need to do a little backward compatibility work while adding a new column family. |
Quality Gate passedThe SonarCloud Quality Gate passed, but some issues were introduced. 3 New issues |
So only "tag" is support currently? |
Yeah, I also plan to add the support of numeric indexes. But for text and vector fields, it is currently not in the plan. |
…2066) The current encoding design: ``` search data type metadata: key (index name) -> flag | expire | version | size | on_data_type (HASH or JSON) prefixes encoding: key (index name) | PREFIXES -> prefix1 prefix2 ... tag field metadata encoding: key (index name) | TAG_FIELD_META | field name -> separator | case sensitive tag field index encoding: key (index name) | TAG_FIELD | field name | tag | key -> (nil) ```
It close #2065.
The current encoding design:
Refs:
https://redis.io/docs/interact/search-and-query/
https://redis.io/docs/interact/search-and-query/advanced-concepts/tags/