[ 
https://issues.apache.org/jira/browse/CASSANDRA-18493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Adamson updated CASSANDRA-18493:
-------------------------------------
    Description: 
This should provide the following functionality:
 * LIKE abc% - prefix support
 * LIKE %bcd - suffix support
 * LIKE ab%cd - prefix/suffix support

Out of scope:
 * LIKE %abc% - contains support

The index support for this can broken down as follows (general ideas that are 
open to suggestions):
 * Prefix support. This can currently be achieved with the existing trie index 
but this needs work to make it more performant in coalescing postings. An 
alternative approach could be to modify the block balanced tree to support 
variable length datatypes. This would make general range queries possible on 
variable length types as well as prefix queries. These would benefit from the 
auxilary postings present in the balanced tree.
 * Suffix support. This will need a reverse index on the values. This allows a 
search of the suffix to operate in the same way as a prefix query. There is no 
reason why suffix index cannot be built on top of the prefix index with 
separate postings for prefix and suffix. We would need to look at the byte 
comparable code in order to produce reverse values efficiently that sort 
correctly. 
 * Prefix/Suffix support. This would require separate prefix and suffix index 
searches and an intersection on the resulting postings.

  was:
This should provide the following functionality:
* LIKE abc%  - prefix support
* LIKE %bcd  - suffix support
* LIKE %bc%  - prefix/suffix support


> SAI - LIKE prefix/suffix support
> --------------------------------
>
>                 Key: CASSANDRA-18493
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18493
>             Project: Cassandra
>          Issue Type: Epic
>          Components: Feature/2i Index
>            Reporter: Mike Adamson
>            Assignee: Mike Adamson
>            Priority: Normal
>             Fix For: 5.x
>
>
> This should provide the following functionality:
>  * LIKE abc% - prefix support
>  * LIKE %bcd - suffix support
>  * LIKE ab%cd - prefix/suffix support
> Out of scope:
>  * LIKE %abc% - contains support
> The index support for this can broken down as follows (general ideas that are 
> open to suggestions):
>  * Prefix support. This can currently be achieved with the existing trie 
> index but this needs work to make it more performant in coalescing postings. 
> An alternative approach could be to modify the block balanced tree to support 
> variable length datatypes. This would make general range queries possible on 
> variable length types as well as prefix queries. These would benefit from the 
> auxilary postings present in the balanced tree.
>  * Suffix support. This will need a reverse index on the values. This allows 
> a search of the suffix to operate in the same way as a prefix query. There is 
> no reason why suffix index cannot be built on top of the prefix index with 
> separate postings for prefix and suffix. We would need to look at the byte 
> comparable code in order to produce reverse values efficiently that sort 
> correctly. 
>  * Prefix/Suffix support. This would require separate prefix and suffix index 
> searches and an intersection on the resulting postings.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to