[
https://issues.apache.org/jira/browse/CASSANDRA-18598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Adamson updated CASSANDRA-18598:
-------------------------------------
Description:
The BlockBalancedTreeRamBuffer for numerics indexes uses a trie for building
indexes in memory before flushing to disk. The RAMStringIndexer for literal
indexes does not do this. It uses lucene classes to build the in memory index
before flushing.
We should combine both of the in-memory index builders and have them both use
the trie.
was:
The BlockBalancedTreeRamBuffer currently doesn't sort terms as they are added
so the terms need sorting before they are added to the BlockBalancedTree.
If we used a trie in place of the ByteBlockPool the terms would be sorted. They
could also take advantage of the prefix compression in the trie which would
allow larger segments on disk.
If the requirement to sort was removed from the BlockBalancedTree we could
remove the PointValues implementations that are needed by the Lucene sorter.
This could allow for significant simplification of the codebase during the
write phase.
> Use trie for literal index building
> -----------------------------------
>
> Key: CASSANDRA-18598
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18598
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Mike Adamson
> Priority: Normal
>
> The BlockBalancedTreeRamBuffer for numerics indexes uses a trie for building
> indexes in memory before flushing to disk. The RAMStringIndexer for literal
> indexes does not do this. It uses lucene classes to build the in memory index
> before flushing.
> We should combine both of the in-memory index builders and have them both use
> the trie.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]