我正在寻找一个查询解析器,它可以帮助我用JSON格式列(UDT - 用户定义类型)中的字段过滤(写'where'子句)。我使用Cassandra作为DB和Solr。我发现将Solr与Cassandra整合起来具有挑战性。我发现DataStax Search是一个选项,但它似乎不支持Windows操作系统。如果有人能提出一个好的选择,那就太好了。
编辑:一个让人们更容易理解的例子: 我有一个表格中使用的以下示例UDT:
CREATE TYPE test.phone( 代码int, 数字文本 );
CREATE TABLE test.info( id int PRIMARY KEY, 联系电话, .... );
选择可以完成: SELECT contact.code FROM info;
但是,使用UDT中的字段进行过滤是不可能的: SELECT * FROM info WHERE contact.code = 91;
为了实现上述目标,我安装了一个查询解析器,但我遇到了与Cassandra集成的问题。我正在寻找替代方案。
答案 0 :(得分:0)
我遇到了Cassandra-lucene-index,它可以完全按照预期过滤使用UDT。它可以安装在Windows操作系统上,使用起来非常简单。
可以从https://github.com/Stratio/cassandra-lucene-index下载 该版本应与系统上已安装的Cassandra版本完全相同。 JAR文件将放在$ Cassandra_HOME / lib文件夹中。重新启动/启动Cassandra,它开始工作。
它还有一个很好的安装和查询文档: https://github.com/Stratio/cassandra-lucene-index/blob/branch-3.0.13/doc/documentation.rst
编辑:我不再需要Solr了。