[jira] [Commented] (CASSANDRA-11182) Enable SASI index for collections
[ https://issues.apache.org/jira/browse/CASSANDRA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15321981#comment-15321981 ] Pavel Yaskevich commented on CASSANDRA-11182: - I think such a change deserves it's own ticket :) > Enable SASI index for collections > - > > Key: CASSANDRA-11182 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11182 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: DOAN DuyHai >Assignee: Alex Petrov >Priority: Minor > > This is a follow up ticket for post Cassandra 3.4 SASI integration. > Right now it is possible with standard Cassandra 2nd index to: > 1. index list and set elements ( {{WHERE list CONTAINS xxx}}) > 2. index map keys ( {{WHERE map CONTAINS KEYS 'abc'}} ) > 3. index map entries ( {{WHERE map\['key'\]=value}}) > It would be nice to enable these features in SASI too. > With regard to tokenizing, we might want to allow wildcards ({{%}}) with the > CONTAINS syntax as well as with index map entries. Ex: > * {{WHERE list CONTAINS 'John%'}} > * {{WHERE map CONTAINS KEY '%an%'}} > * {{WHERE map\['key'\] LIKE '%val%'}} > /cc [~xedin] [~rustyrazorblade] [~jkrupan] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11182) Enable SASI index for collections
[ https://issues.apache.org/jira/browse/CASSANDRA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15321816#comment-15321816 ] Alex Petrov commented on CASSANDRA-11182: - Should we do this in the scope of this ticket or just create another one? > Enable SASI index for collections > - > > Key: CASSANDRA-11182 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11182 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: DOAN DuyHai >Assignee: Alex Petrov >Priority: Minor > > This is a follow up ticket for post Cassandra 3.4 SASI integration. > Right now it is possible with standard Cassandra 2nd index to: > 1. index list and set elements ( {{WHERE list CONTAINS xxx}}) > 2. index map keys ( {{WHERE map CONTAINS KEYS 'abc'}} ) > 3. index map entries ( {{WHERE map\['key'\]=value}}) > It would be nice to enable these features in SASI too. > With regard to tokenizing, we might want to allow wildcards ({{%}}) with the > CONTAINS syntax as well as with index map entries. Ex: > * {{WHERE list CONTAINS 'John%'}} > * {{WHERE map CONTAINS KEY '%an%'}} > * {{WHERE map\['key'\] LIKE '%val%'}} > /cc [~xedin] [~rustyrazorblade] [~jkrupan] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11182) Enable SASI index for collections
[ https://issues.apache.org/jira/browse/CASSANDRA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15321719#comment-15321719 ] Pavel Yaskevich commented on CASSANDRA-11182: - I agree with [~beobal] on that, effectively the most important thing we need to enable indexing for collections and partition keys is TokenTree which accepts variable size keys (such would enable different parititoners, collections support, primary key indexing etc.), once that's done all of the changes are going to be pretty straight-forward. > Enable SASI index for collections > - > > Key: CASSANDRA-11182 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11182 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: DOAN DuyHai >Assignee: Alex Petrov >Priority: Minor > > This is a follow up ticket for post Cassandra 3.4 SASI integration. > Right now it is possible with standard Cassandra 2nd index to: > 1. index list and set elements ( {{WHERE list CONTAINS xxx}}) > 2. index map keys ( {{WHERE map CONTAINS KEYS 'abc'}} ) > 3. index map entries ( {{WHERE map\['key'\]=value}}) > It would be nice to enable these features in SASI too. > With regard to tokenizing, we might want to allow wildcards ({{%}}) with the > CONTAINS syntax as well as with index map entries. Ex: > * {{WHERE list CONTAINS 'John%'}} > * {{WHERE map CONTAINS KEY '%an%'}} > * {{WHERE map\['key'\] LIKE '%val%'}} > /cc [~xedin] [~rustyrazorblade] [~jkrupan] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11182) Enable SASI index for collections
[ https://issues.apache.org/jira/browse/CASSANDRA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15321454#comment-15321454 ] Alex Petrov commented on CASSANDRA-11182: - I've looked at how it could possibly implemented. `CONTAINS` itself is fairly simple as it has similar semantics to `EQ`. I've implemented a rough prototype that would index and flush collections, which was touching a lot of SASI but it's mostly adding the {{target}} everywhere it's not currently passed and moving away from reading the value from {{Cell#value}}, and going picking up the right thing depending on the context. The only possible performance implication is the fact that we still do post-filtering. Since the index is storing the partition key position, we check if the row from the row cluster satisfies all conditions with {{Operation#localSatisfiedBy}}. Having to iterate through all the cells in the collection might be quite costly. After talking with [~beobal] briefly about it, the one possible way to implement it is to add offsets to the concrete rows, although that would also mean a larger change. cc [~xedin] > Enable SASI index for collections > - > > Key: CASSANDRA-11182 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11182 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: DOAN DuyHai >Assignee: Alex Petrov >Priority: Minor > > This is a follow up ticket for post Cassandra 3.4 SASI integration. > Right now it is possible with standard Cassandra 2nd index to: > 1. index list and set elements ( {{WHERE list CONTAINS xxx}}) > 2. index map keys ( {{WHERE map CONTAINS KEYS 'abc'}} ) > 3. index map entries ( {{WHERE map\['key'\]=value}}) > It would be nice to enable these features in SASI too. > With regard to tokenizing, we might want to allow wildcards ({{%}}) with the > CONTAINS syntax as well as with index map entries. Ex: > * {{WHERE list CONTAINS 'John%'}} > * {{WHERE map CONTAINS KEY '%an%'}} > * {{WHERE map\['key'\] LIKE '%val%'}} > /cc [~xedin] [~rustyrazorblade] [~jkrupan] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11182) Enable SASI index for collections
[ https://issues.apache.org/jira/browse/CASSANDRA-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15184037#comment-15184037 ] Henry Manasseh commented on CASSANDRA-11182: How would UDTs be handled with this feature? Will you be supporting indexing UDT fields for collections of UDTs? I just saw that there is a ticket to allow individual updates to UDT fields (CASSANDRA-7423) which may facilitate getting the field as a Cell. > Enable SASI index for collections > - > > Key: CASSANDRA-11182 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11182 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: DOAN DuyHai >Priority: Minor > > This is a follow up ticket for post Cassandra 3.4 SASI integration. > Right now it is possible with standard Cassandra 2nd index to: > 1. index list and set elements ( {{WHERE list CONTAINS xxx}}) > 2. index map keys ( {{WHERE map CONTAINS KEYS 'abc' }} ) > 3. index map entries ( {{WHERE map\['key'\]=value}}) > It would be nice to enable these features in SASI too. > With regard to tokenizing, we might want to allow wildcards ({{%}}) with the > CONTAINS syntax as well as with index map entries. Ex: > * {{WHERE list CONTAINS 'John%'}} > * {{WHERE map CONTAINS KEY '%an%'}} > * {{WHERE map\['key'\] LIKE '%val%'}} > /cc [~xedin] [~rustyrazorblade] [~jkrupan] -- This message was sent by Atlassian JIRA (v6.3.4#6332)