GitHub user PragmaTwice closed the discussion with a comment: Question about FT.SEARCH indices
Sorry for the late reply. Could you provide some real data and queries? From the description alone, it's hard to fully understand what queries you're running and what your data looks like. As things stand, for the three fields `d TAG, s NUMERIC, e NUMERIC` -- if you haven't declared `NOINDEX`, Kvrocks Search will create three separate indexes, one for each field. The index selection algorithm then tries to pick the most suitable one. There are two shortcomings in the current implementation: - First, the cost model for index selection is static -- it doesn't account for the actual distribution of your data, which can lead to suboptimal index choices. I've considered letting users provide hints for better selection, but haven't had time to implement that yet. - Second, composite indexes are not yet supported. If your query is something like `WHERE d == .. AND s == ..`, a composite index would make it extremely fast, instead of the current approach of filtering through one index and then scanning. You can use `FT.EXPLAINSQL` to see what the current query plan looks like. GitHub link: https://github.com/apache/kvrocks/discussions/3391#discussioncomment-16186587 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
