I was thinking a subproject like I’d normally use with Gradle. Is there an 
advantage to moving it out completely? 

On 2023/08/13 18:34:38 Caleb Rackliffe wrote:
> We’ve already started down the path of using a git sub-module for the Accord 
> library. That could be an option at some point.
> 
> > On Aug 13, 2023, at 12:53 PM, Jon Haddad <rustyrazorbl...@apache.org> wrote:
> > 
> > Functions make sense to me too.  In addition to the reasons listed, I if 
> > we acknowledge that functions in predicates are inevitable, then it makes 
> > total sense to use them here.  I think this is the most forward thinking 
> > approach.
> > 
> > Assuming this happens, one thing that would be great down the line would be 
> > if the CQL parser was broken out into a subproject with an artifact 
> > published so the soon to be additional complexity of parsing CQL didn't 
> > have to be pushed to every single end user like it does today.  I'm not 
> > trying to expand the scope right now, just laying an idea down for the 
> > future.  
> > 
> > Jon
> > 
> >> On 2023/08/07 21:26:40 Josh McKenzie wrote:
> >> Been chatting a bit w/Caleb about this offline and poking around to better 
> >> educate myself.
> >> 
> >>> using functions (ignoring the implementation complexity) at least removes 
> >>> ambiguity. 
> >> This, plus using functions lets us kick the can down the road a bit in 
> >> terms of landing on an integrated grammar we agree on. It seems to me 
> >> there's a tension between:
> >> 1. "SQL-like" (i.e. postgres-like)
> >> 2. "Indexing and Search domain-specific-like" (i.e. lucene syntax which, 
> >> as Benedict points out, doesn't really jell w/what we have in CQL at this 
> >> point), and
> >> 3. ??? Some other YOLO CQL / C* specific thing where we go our own road
> >> I don't think we're really going to know what our feature-set in terms of 
> >> indexing is going to look like or the shape it's going to take for awhile, 
> >> so backing ourselves into any of the 3 corners above right now feels very 
> >> premature to me.
> >> 
> >> So I'm coming around to the expr / method call approach to preserve that 
> >> flexibility. It's maximally explicit and preserves optionality at the 
> >> expense of being clunky. For now.
> >> 
> >> On Mon, Aug 7, 2023, at 4:00 PM, Caleb Rackliffe wrote:
> >>>> I do not think we should start using lucene syntax for it, it will make 
> >>>> people think they can do everything else lucene allows.
> >>> 
> >>> I'm sure we won't be supporting everything Lucene allows, but this is 
> >>> going to evolve. Right off the bat, if you introduce support for 
> >>> tokenization and filtering, someone is, for example, going to ask for 
> >>> phrase queries. ("John Smith landed in Virginia" is tokenized, but 
> >>> someone wants to match exactly on "John Smith".) The whole point of the 
> >>> Vector project is to do relevance, right? Are we going to do term 
> >>> boosting? Do we need queries like "field: quick brown +fox -news" where 
> >>> fox must be present, news cannot be present, and quick and brown increase 
> >>> relevance?
> >>> 
> >>> SASI uses "=" and "LIKE" in a way that assumes the user understands the 
> >>> tokenization scheme in use on the target field. I understand that's a bit 
> >>> ambiguous.
> >>> 
> >>> If we object to allowing expr embedding of a subset of the Lucene syntax, 
> >>> I can't imagine we're okay w/ then jamming a subset of that syntax into 
> >>> the main CQL grammar.
> >>> 
> >>> If we want to do this in non-expr CQL space, I think using functions 
> >>> (ignoring the implementation complexity) at least removes ambiguity. 
> >>> "token_match", "phrase_match", "token_like", "=", and "LIKE" would all be 
> >>> pretty clear, although there may be other problems. For instance, what 
> >>> happens when I try to use "token_match" on an indexed field whose 
> >>> analyzer does not tokenize? We obviously can't use the index, so we'd be 
> >>> reduced to requiring a filtering query, but maybe that's fine. My point 
> >>> is that, if we're going to make write and read analyzers symmetrical, 
> >>> there's really no way to make the semantics of our queries totally 
> >>> independent of analysis. (ex. "field : foo bar" behaves differently w/ 
> >>> read tokenization than it does without. It could even be an OR or AND 
> >>> query w/ tokenization, depending on our defaults.)
> >>> 
> >>> On Mon, Aug 7, 2023 at 12:55 PM Atri Sharma <a...@apache.org> wrote:
> >>>> Why not start with SQLish operators supported by many databases (LIKE 
> >>>> and CONTAINS)?
> >>>> 
> >>>> On Mon, Aug 7, 2023 at 10:01 PM J. D. Jordan <jeremiah.jor...@gmail.com> 
> >>>> wrote:
> >>>>> 
> >>>>> I am also -1 on directly exposing lucene like syntax here. Besides 
> >>>>> being ugly, SAI is not lucene, I do not think we should start using 
> >>>>> lucene syntax for it, it will make people think they can do everything 
> >>>>> else lucene allows.
> >>>>> 
> >>>>>> On Aug 7, 2023, at 5:13 AM, Benedict <bened...@apache.org> wrote:
> >>>>>> 
> >>>>>> 
> >>>>>> I’m strongly opposed to : 
> >>>>>> 
> >>>>>> It is very dissimilar to our current operators. CQL is already not the 
> >>>>>> prettiest language, but let’s not make it a total mish mash.
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>> 
> >>>>>>> On 7 Aug 2023, at 10:59, Mike Adamson <madam...@datastax.com> wrote:
> >>>>>>> 
> >>>>>>> I am also in agreement with 'column : token' in that 'I don't hate 
> >>>>>>> it' but I'd like to offer an alternative to this in 'column HAS 
> >>>>>>> token'. HAS is currently not a keyword that we use so wouldn't cause 
> >>>>>>> any brain conflicts.
> >>>>>>> 
> >>>>>>> While I don't hate ':' I have a particular dislike of the lucene 
> >>>>>>> search syntax because of its terseness and lack of easy readability. 
> >>>>>>> 
> >>>>>>> Saying that, I'm happy to do with ':' if that is the decision. 
> >>>>>>> 
> >>>>>>> On Fri, 4 Aug 2023 at 00:23, Jon Haddad <rustyrazorbl...@apache.org> 
> >>>>>>> wrote:
> >>>>>>>> Assuming SAI is a superset of SASI, and we were to set up something 
> >>>>>>>> so that SASI indexes auto convert to SAI, this gives even more 
> >>>>>>>> weight to my point regarding how differing behavior for the same 
> >>>>>>>> syntax can lead to issues.  Imo the best case scenario results in 
> >>>>>>>> the user not even noticing their indexes have changed.
> >>>>>>>> 
> >>>>>>>> An (maybe better?) alternative is to add a flag to the index 
> >>>>>>>> configuration for "compatibility mod", which might address the 
> >>>>>>>> concerns around using an equality operator when it actually is a 
> >>>>>>>> partial match.
> >>>>>>>> 
> >>>>>>>> For what it's worth, I'm in agreement that = should mean full 
> >>>>>>>> equality and not token match.
> >>>>>>>> 
> >>>>>>>> On 2023/08/03 03:56:23 Caleb Rackliffe wrote:
> >>>>>>>>> For what it's worth, I'd very much like to completely remove SASI 
> >>>>>>>>> from the
> >>>>>>>>> codebase for 6.0. The only remaining functionality gaps at the 
> >>>>>>>>> moment are
> >>>>>>>>> LIKE (prefix/suffix) queries and its limited tokenization
> >>>>>>>>> capabilities, both of which already have SAI Phase 2 Jiras.
> >>>>>>>>> 
> >>>>>>>>> On Wed, Aug 2, 2023 at 7:20 PM Jeremiah Jordan 
> >>>>>>>>> <jerem...@datastax.com>
> >>>>>>>>> wrote:
> >>>>>>>>> 
> >>>>>>>>>> SASI just uses “=“ for the tokenized equality matching, which is 
> >>>>>>>>>> the exact
> >>>>>>>>>> thing this discussion is about changing/not liking.
> >>>>>>>>>> 
> >>>>>>>>>>> On Aug 2, 2023, at 7:18 PM, J. D. Jordan 
> >>>>>>>>>>> <jeremiah.jor...@gmail.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> 
> >>>>>>>>>>> I do not think LIKE actually applies here. LIKE is used for 
> >>>>>>>>>>> prefix,
> >>>>>>>>>> contains, or suffix searches in SASI depending on the index type.
> >>>>>>>>>>> 
> >>>>>>>>>>> This is about exact matching of tokens.
> >>>>>>>>>>> 
> >>>>>>>>>>>> On Aug 2, 2023, at 5:53 PM, Jon Haddad 
> >>>>>>>>>>>> <rustyrazorbl...@apache.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>> 
> >>>>>>>>>>>> Certain bits of functionality also already exist on the SASI 
> >>>>>>>>>>>> side of
> >>>>>>>>>> things, but I'm not sure how much overlap there is.  Currently, 
> >>>>>>>>>> there's a
> >>>>>>>>>> LIKE keyword that handles token matching, although it seems to 
> >>>>>>>>>> have some
> >>>>>>>>>> differences from the feature set in SAI.
> >>>>>>>>>>>> 
> >>>>>>>>>>>> That said, there seems to be enough of an overlap that it would 
> >>>>>>>>>>>> make
> >>>>>>>>>> sense to consider using LIKE in the same manner, doesn't it?  I 
> >>>>>>>>>> think it
> >>>>>>>>>> would be a little odd if we have different syntax for different 
> >>>>>>>>>> indexes.
> >>>>>>>>>>>> 
> >>>>>>>>>>>> https://github.com/apache/cassandra/blob/trunk/doc/SASI.md
> >>>>>>>>>>>> 
> >>>>>>>>>>>> I think one complication here is that there seems to be a 
> >>>>>>>>>>>> desire, that
> >>>>>>>>>> I very much agree with, to expose as much of the underlying 
> >>>>>>>>>> flexibility of
> >>>>>>>>>> Lucene as much as possible.  If it means we use Caleb's 
> >>>>>>>>>> suggestion, I'd ask
> >>>>>>>>>> that the queries that SASI and SAI both support use the same 
> >>>>>>>>>> syntax, even
> >>>>>>>>>> if it means there's two ways of writing the same query.  To use 
> >>>>>>>>>> Caleb's
> >>>>>>>>>> example, this would mean supporting both LIKE and the `expr` 
> >>>>>>>>>> column.
> >>>>>>>>>>>> 
> >>>>>>>>>>>> Jon
> >>>>>>>>>>>> 
> >>>>>>>>>>>>>> On 2023/08/01 19:17:11 Caleb Rackliffe wrote:
> >>>>>>>>>>>>> Here are some additional bits of prior art, if anyone finds them
> >>>>>>>>>> useful:
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> The Stratio Lucene Index -
> >>>>>>>>>>>>> https://github.com/Stratio/cassandra-lucene-index#examples
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> Stratio was the reason C* added the "expr" functionality. They 
> >>>>>>>>>>>>> embedded
> >>>>>>>>>>>>> something similar to ElasticSearch JSON, which probably isn't my
> >>>>>>>>>> favorite
> >>>>>>>>>>>>> choice, but it's there.
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> The ElasticSearch match query syntax -
> >>>>>>>>>>>>> 
> >>>>>>>>>> https://urldefense.com/v3/__https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html__;!!PbtH5S7Ebw!ZHwYJ2xkivwTzYgjkp5QFAzALXCWPqkga6GBD-m2aK3j06ioSCRPsdZD0CIe50VpRrtW-1rY_m6lrSpp7zVlAf0MsxZ9$
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> Again, not my favorite. It's verbose, and probably too powerful 
> >>>>>>>>>>>>> for us.
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> ElasticSearch's documentation for the basic Lucene query syntax 
> >>>>>>>>>>>>> -
> >>>>>>>>>>>>> 
> >>>>>>>>>> https://urldefense.com/v3/__https://www.elastic.co/guide/en/elasticsearch/reference/8.9/query-dsl-query-string-query.html*query-string-syntax__;Iw!!PbtH5S7Ebw!ZHwYJ2xkivwTzYgjkp5QFAzALXCWPqkga6GBD-m2aK3j06ioSCRPsdZD0CIe50VpRrtW-1rY_m6lrSpp7zVlAXEPP1sK$
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> One idea is to take the basic Lucene index, which it seems we 
> >>>>>>>>>>>>> already
> >>>>>>>>>> have
> >>>>>>>>>>>>> some support for, and feed it to "expr". This is nice for two 
> >>>>>>>>>>>>> reasons:
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> 1.) People can just write Lucene queries if they already know 
> >>>>>>>>>>>>> how.
> >>>>>>>>>>>>> 2.) No changes to the grammar.
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> Lucene has distinct concepts of filtering and querying, and 
> >>>>>>>>>>>>> this is
> >>>>>>>>>> kind of
> >>>>>>>>>>>>> the latter. I'm not sure how, for example, we would want "expr" 
> >>>>>>>>>>>>> to
> >>>>>>>>>> interact
> >>>>>>>>>>>>> w/ filters on other column indexes in vanilla CQL space...
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>> 
> >>>>>>>>>>>>>> On Mon, Jul 24, 2023 at 9:37 AM Josh McKenzie 
> >>>>>>>>>>>>>> <jmcken...@apache.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column CONTAINS term`. Contains is used by both Java and 
> >>>>>>>>>>>>>> Python for
> >>>>>>>>>>>>>> substring searches, so at least some users will be surprised by
> >>>>>>>>>> term-based
> >>>>>>>>>>>>>> behavior.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> I wonder whether users are in their "programming language" 
> >>>>>>>>>>>>>> headspace
> >>>>>>>>>> or in
> >>>>>>>>>>>>>> their "querying a database" headspace when interacting with 
> >>>>>>>>>>>>>> CQL? i.e.
> >>>>>>>>>> this
> >>>>>>>>>>>>>> would only present confusion if we expected users to be 
> >>>>>>>>>>>>>> thinking in
> >>>>>>>>>> the
> >>>>>>>>>>>>>> idioms of their respective programming languages. If they're 
> >>>>>>>>>>>>>> thinking
> >>>>>>>>>> in
> >>>>>>>>>>>>>> terms of SQL, MATCHES would probably end up confusing them a 
> >>>>>>>>>>>>>> bit
> >>>>>>>>>> since it
> >>>>>>>>>>>>>> doesn't match the general structure of the MATCH operator.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> That said, I also think CONTAINS loses something important 
> >>>>>>>>>>>>>> that you
> >>>>>>>>>> allude
> >>>>>>>>>>>>>> to here Jonathan:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> with corresponding query-time tokenization and analysis.  This 
> >>>>>>>>>>>>>> means
> >>>>>>>>>> that
> >>>>>>>>>>>>>> the query term is not always a substring of the original 
> >>>>>>>>>>>>>> string!
> >>>>>>>>>> Besides
> >>>>>>>>>>>>>> obvious transformations like lowercasing, you have things like
> >>>>>>>>>>>>>> PhoneticFilter available as well.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> So to me, neither MATCHES nor CONTAINS are particularly great
> >>>>>>>>>> candidates.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> So +1 to the "I don't actually hate it" sentiment on:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> column : term`. Inspired by Lucene’s syntax
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>>> On Mon, Jul 24, 2023, at 8:35 AM, Benedict wrote:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> I have a strong preference not to use the name of an SQL 
> >>>>>>>>>>>>>> operator,
> >>>>>>>>>> since
> >>>>>>>>>>>>>> it precludes us later providing the SQL standard operator to 
> >>>>>>>>>>>>>> users.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> What about CONTAINS TOKEN term? Or CONTAINS TERM term?
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>>> On 24 Jul 2023, at 13:34, Andrés de la Peña 
> >>>>>>>>>>>>>>> <adelap...@apache.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column = term` is definitively problematic because it creates 
> >>>>>>>>>>>>>> an
> >>>>>>>>>>>>>> ambiguity when the queried column belongs to the primary key. 
> >>>>>>>>>>>>>> For some
> >>>>>>>>>>>>>> queries we wouldn't know whether the user wants a primary key 
> >>>>>>>>>>>>>> query
> >>>>>>>>>> using
> >>>>>>>>>>>>>> regular equality or an index query using the analyzer.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `term_matches(column, term)` seems quite clear and hard to
> >>>>>>>>>> misinterpret,
> >>>>>>>>>>>>>> but it's quite long to write and its implementation will be
> >>>>>>>>>> challenging
> >>>>>>>>>>>>>> since we would need a bunch of special casing around 
> >>>>>>>>>>>>>> SelectStatement
> >>>>>>>>>> and
> >>>>>>>>>>>>>> functions.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> LIKE, MATCHES and CONTAINS could be a bit misleading since 
> >>>>>>>>>>>>>> they seem
> >>>>>>>>>> to
> >>>>>>>>>>>>>> evoke different behaviours to what they would have.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column LIKE :term:` seems a bit redundant compared to just 
> >>>>>>>>>>>>>> using
> >>>>>>>>>> `column
> >>>>>>>>>>>>>> : term`, and we are still introducing a new symbol.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> I think I like `column : term` the most, because it's brief, 
> >>>>>>>>>>>>>> it's
> >>>>>>>>>> similar
> >>>>>>>>>>>>>> to the equivalent Lucene's syntax, and it doesn't seem to 
> >>>>>>>>>>>>>> clash with
> >>>>>>>>>> other
> >>>>>>>>>>>>>> different meanings that I can think of.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>>> On Mon, 24 Jul 2023 at 13:13, Jonathan Ellis 
> >>>>>>>>>>>>>>> <jbel...@gmail.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> Hi all,
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> With phase 1 of SAI wrapping up, I’d like to start the ball 
> >>>>>>>>>>>>>> rolling on
> >>>>>>>>>>>>>> aligning around phase 2 features.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> In particular, we need to nail down the syntax for doing 
> >>>>>>>>>>>>>> non-exact
> >>>>>>>>>> string
> >>>>>>>>>>>>>> matches.  We have a proof of concept that includes full Lucene
> >>>>>>>>>> analyzer and
> >>>>>>>>>>>>>> filter functionality – just the text transformation pieces, 
> >>>>>>>>>>>>>> none of
> >>>>>>>>>> the
> >>>>>>>>>>>>>> storage parts – which is the gold standard in this space.  For
> >>>>>>>>>> example, the
> >>>>>>>>>>>>>> StandardAnalyzer [1] lowercases all terms and removes stopwords
> >>>>>>>>>> (common
> >>>>>>>>>>>>>> words like “a”, “is”, “the” that are usually not useful to 
> >>>>>>>>>>>>>> search
> >>>>>>>>>>>>>> against).  Lucene also has classes that offer stemming, 
> >>>>>>>>>>>>>> special case
> >>>>>>>>>>>>>> handling for email, and many languages besides English [2].
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> What syntax should we use to express “rows whose analyzed 
> >>>>>>>>>>>>>> tokens match
> >>>>>>>>>>>>>> this search term?”
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> The syntax must be clear that we want to look for this term 
> >>>>>>>>>>>>>> within the
> >>>>>>>>>>>>>> column data using the configured index with corresponding 
> >>>>>>>>>>>>>> query-time
> >>>>>>>>>>>>>> tokenization and analysis.  This means that the query term is 
> >>>>>>>>>>>>>> not
> >>>>>>>>>> always a
> >>>>>>>>>>>>>> substring of the original string!  Besides obvious 
> >>>>>>>>>>>>>> transformations
> >>>>>>>>>> like
> >>>>>>>>>>>>>> lowercasing, you have things like PhoneticFilter available as 
> >>>>>>>>>>>>>> well.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> Here are my thoughts on some of the options:
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column = term`.  This is what the POC does today and it’s 
> >>>>>>>>>>>>>> super
> >>>>>>>>>> confusing
> >>>>>>>>>>>>>> to overload = to mean something other than exact equality.  I 
> >>>>>>>>>>>>>> am not
> >>>>>>>>>> a fan.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column LIKE term` or `column LIKE %term%`. The closest SQL 
> >>>>>>>>>>>>>> operator,
> >>>>>>>>>> but
> >>>>>>>>>>>>>> neither the wildcarded nor unwildcarded syntax matches the 
> >>>>>>>>>>>>>> semantics
> >>>>>>>>>> of
> >>>>>>>>>>>>>> term-based search.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column MATCHES term`. I rather like this one, although Mike 
> >>>>>>>>>>>>>> points
> >>>>>>>>>> out
> >>>>>>>>>>>>>> that “match” has a meaning in the context of regular 
> >>>>>>>>>>>>>> expressions that
> >>>>>>>>>> could
> >>>>>>>>>>>>>> cause confusion here.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column CONTAINS term`. Contains is used by both Java and 
> >>>>>>>>>>>>>> Python for
> >>>>>>>>>>>>>> substring searches, so at least some users will be surprised by
> >>>>>>>>>> term-based
> >>>>>>>>>>>>>> behavior.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `term_matches(column, term)`. Postgresql FTS makes you use 
> >>>>>>>>>>>>>> functions
> >>>>>>>>>> like
> >>>>>>>>>>>>>> this for everything.  It’s pretty clunky, and we would need to 
> >>>>>>>>>>>>>> make
> >>>>>>>>>> the
> >>>>>>>>>>>>>> amazingly hairy SelectStatement even hairier to handle “use a 
> >>>>>>>>>>>>>> function
> >>>>>>>>>>>>>> result in a predicate” like this.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column : term`. Inspired by Lucene’s syntax.  I don’t 
> >>>>>>>>>>>>>> actually hate
> >>>>>>>>>> it.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> `column LIKE :term:`. Stick with the LIKE operator but add a 
> >>>>>>>>>>>>>> new
> >>>>>>>>>> symbol to
> >>>>>>>>>>>>>> indicate term matching.  Arguably more SQL-ish than a new bare 
> >>>>>>>>>>>>>> symbol
> >>>>>>>>>>>>>> operator.
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>> 
> >>>>>>>>>> https://lucene.apache.org/core/9_7_0/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html
> >>>>>>>>>>>>>> [2] 
> >>>>>>>>>>>>>> https://lucene.apache.org/core/9_7_0/analysis/common/index.html
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> --
> >>>>>>>>>>>>>> Jonathan Ellis
> >>>>>>>>>>>>>> co-founder, http://www.datastax.com
> >>>>>>>>>>>>>> @spyced
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>>> 
> >>>>>>>>>>>>> 
> >>>>>>>>>> 
> >>>>>>>>> 
> >>>>>>> 
> >>>>>>> 
> >>>>>>> --
> >>>>>>> DataStax Logo Square <https://www.datastax.com/>
> >>>>>>> *Mike Adamson*
> >>>>>>> Engineering
> >>>>>>> +1 650 389 6000 <tel:16503896000> | datastax.com 
> >>>>>>> <https://www.datastax.com/>
> >>>>>>> Find DataStax Online:
> >>>>>>> LinkedIn Logo 
> >>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.linkedin.com_company_datastax&d=DwMFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=IFj3MdIKYLLXIUhYdUGB0cTzTlxyCb7_VUmICBaYilU&m=uHzE4WhPViSF0rsjSxKhfwGDU1Bo7USObSc_aIcgelo&s=akx0E6l2bnTjOvA-YxtonbW0M4b6bNg4nRwmcHNDo4Q&e=>
> >>>>>>>    Facebook Logo 
> >>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.facebook.com_datastax&d=DwMFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=IFj3MdIKYLLXIUhYdUGB0cTzTlxyCb7_VUmICBaYilU&m=uHzE4WhPViSF0rsjSxKhfwGDU1Bo7USObSc_aIcgelo&s=ncMlB41-6hHuqx-EhnM83-KVtjMegQ9c2l2zDzHAxiU&e=>
> >>>>>>>    Twitter Logo <https://twitter.com/DataStax>   RSS Feed 
> >>>>>>> <https://www.datastax.com/blog/rss.xml>   Github Logo 
> >>>>>>> <https://github.com/datastax>
> >>>> 
> >>>> 
> >>>> --
> >>>> Regards,
> >>>> Atri
> >>>> Apache Concerted
> >> 
> 

Reply via email to