[
https://issues.apache.org/jira/browse/CASSANDRA-15169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16953037#comment-16953037
]
Michael Semb Wever commented on CASSANDRA-15169:
------------------------------------------------
{quote}
bq. if you look through the docs at
https://github.com/apache/cassandra/blob/trunk/doc/SASI.md you see a few
different use-cases.
I am not quite sure what you mean.{quote}
I was only referring to the fact there was a few more variables that could be
considered, and tested, eg the modes: {{PREFIX}}, {{CONTAINS}}, and {{SPARSE}};
as well as the {{is_literal}} option.
bq. I have run the demo queries in the doc and found these queries do not work
as described (the "Text Analysis" section).
A new ticket indeed, please. This {{SASI.md}} doc page should also be moved
into the doc {{source/}} tree so that it becomes part of the docs published on
the website (but again a separate ticket).
[~mazhenlin], are you comfortable with the patch now? I will merge it once i
get the ok from you.
> SASI does not compare strings correctly
> ---------------------------------------
>
> Key: CASSANDRA-15169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15169
> Project: Cassandra
> Issue Type: Bug
> Components: Feature/SASI
> Reporter: mazhenlin
> Assignee: mazhenlin
> Priority: Normal
> Attachments: CASSANDRA-15169-v1.patch, CASSANDRA-15169-v2.patch
>
>
> In our scenario, we need to query with '>' conditions on string columns. So I
> created index with is_literal = false. like the following:
>
> {code:java}
> CREATE TABLE test (id int primary key, t text);
> CREATE CUSTOM INDEX ON test (t) USING
> 'org.apache.cassandra.index.sasi.SASIIndex' WITH OPTIONS = {'is_literal':
> 'false'};
> {code}
> I also inserted some records and query:
>
> {code:java}
> insert into test(id,t) values(1,'abc');
> select * from test where t > 'ab';
> {code}
> At first ,it worked. But after flush, the query returned none record.
> I have read the code of SASIIndex and found that it is because in the
> {code:java}
> Expression.isLowerSatisfiedBy{code}
> function,
> {code:java}
> term.compareTo{code}
> was called with parameter checkFully=false, which cause the string 'abc' was
> only compared with its first 2 characters( length of expression value).
>
> I have wrote a UT for this case and fixed it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]