使用stratio lucene index,版本> 2.2选择带有cassandra排序的查询

时间:2016-06-02 16:37:22

标签: cassandra cassandra-lucene-index

我试图在各种发行版本中测试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
            }
        }
    }'
};

直到2.1版本的cassandra - lucene套件我才能有一个工作选择查询,其中涉及lucene索引排序:

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

该查询将获取按attr1列的mymap地图值排序的结果,前提是该列具有该特定地图属性的行。

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

1 个答案:

答案 0 :(得分:1)

这是涉及2.2.X分支的错误。 现在它已修复为2.2.7.1