选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2

Posted

技术标签:

【中文标题】选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2【英文标题】:Select query with sorting for cassandra with stratio lucene index, version >2.2 【发布时间】:2016-06-02 16:37:22 【问题描述】:

我正在尝试在各种发行版本中测试 Cassandra 数据库的 stratio lucene 索引,但在超过 2.2 版本时遇到了问题:

假设我有一个表,其列 mymap 的类型为 map<text, text>,并且我使用 lucene 索引使用排序选项对其进行索引:

CREATE CUSTOM INDEX myindex
ON mytable (lucene_index)
USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = 
    'refresh_seconds': '10',
    'schema' : '            
        fields : 
            mymap: 
              type: "string",
              sorted: true
            
        
    '
;

直到 cassandra - lucene 套件 2.1 版之前,我都能够进行涉及 lucene 索引排序的工作选择查询:

select * from mytable
where lucene_index = '
    sort: 
        fields: [field:"mymap.attr"]
    , 
    refresh: true
';

查询将获取按mymap 列的attr1 映射值排序的结果,假设存在具有该列的特定映射属性的行。

当超过 2.2 版时,查询、过滤器或排序的所有 element.property 语法都更改为 element$property,但是如果我在选择查询中进行更改,排序将不起作用,我什至可以引用不存在的列中的字段。

【问题讨论】:

【参考方案1】:

这是一个涉及 2.2.X 分支的错误。 现在修复在2.2.7.1。

【讨论】:

以上是关于选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 与 Stratio lucene 索引

如何使用 Stratio Cassandra Lucene Index 进行小写前缀过滤

Stratio cassandra maxClauseCount 设置为 1024

Cassandra Lucene 索引布尔语法

Stratio cassandra-lucene-index 插件 + BoundStatements

Stratio Lucene Index 3.0.9:INet 映射器的用途