I suppose you could do a STARTS WITH but I don't know that it's worth special casing as an operator since you get most of the benefit with just GTE.
-1 on a generic LIKE that's mostly no more efficient than paging through manually. On Fri, Jun 3, 2011 at 10:15 PM, Joseph Stein <crypt...@gmail.com> wrote: > Hey folks, I was contemplating having a LIKE type search on Secondary > Indexes. > > LIKE_S, S_LIKE and S_LIKE_S (similiar to LIKE '%eg', 'eg% and '%eg%' > > I am not sure if this has already been discussed or even an existing JIRA or > maybe something maybe I could contribute myself? > > It looks like the best way to-do this would be to add some additional > properties to IndexExpression so we know we want to-do a LIKE check > > pseudo coding my thoughts taking this from ColumnFamilyStore > > int v = > data.metadata().getValueValidator(expression.column_name).compare(column.value(), > expression.value); > if (!satisfies(v, expression.op)) > return false; > > and make it something like this > > if (expression.LIKE) { > if (!column.MakeItAStringValue().equalsIgnoreCase(express.value)) //this > would actually fall into a switch for S_LIKE, LIKE_S, S_LIKE_S > return false; > else { > int v = > data.metadata().getValueValidator(expression.column_name).compare(column.value(), > expression.value); > if (!satisfies(v, expression.op)) > return false; > } > > am i on the right track? smoking crack? > > let me know please > > /* > Joe Stein > http://www.linkedin.com/in/charmalloc > Twitter: @allthingshadoop > */ > -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of DataStax, the source for professional Cassandra support http://www.datastax.com