Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉CQL通配符搜索_Cassandra_Cql_Cql3 - Fatal编程技术网

Cassandra 卡桑德拉CQL通配符搜索

Cassandra 卡桑德拉CQL通配符搜索,cassandra,cql,cql3,Cassandra,Cql,Cql3,我有一个像这样的桌子结构 创建表文件(id文本主键、fname文本、mimetype文本、isdir布尔值、位置文本) 在文件上创建索引文件\u位置(位置) 下表内容如下: 将值('1','f1','pdf',False',c:/test/')插入文件(id,fname,mimetype,isdir,location) 在文件中插入(id、fname、mimetype、isdir、位置)值('2','f2','pdf',False',c:/test/') 在文件中插入(id、fname、mime

我有一个像这样的桌子结构

创建表文件(id文本主键、fname文本、mimetype文本、isdir布尔值、位置文本)
在文件上创建索引文件\u位置(位置)

下表内容如下:

将值('1','f1','pdf',False',c:/test/')插入文件(id,fname,mimetype,isdir,location)
在文件中插入(id、fname、mimetype、isdir、位置)值('2','f2','pdf',False',c:/test/')
在文件中插入(id、fname、mimetype、isdir、位置)值('3','f3','pdf',False',c:/test/')
在文件(id、fname、mimetype、isdir、位置)中插入值('4','f4','pdf',False',c:/test/a/')

我想列出符合以下条件的所有ID:

从文件中选择id,该文件的位置为“%/test/%”


我知道CQL中不支持like,请任何人建议我对此类通配符搜索查询应采取的方法。请建议。

DataStax Enterprise向Cassandra添加全文搜索:

从Cassandra 3.4开始,这可以通过SASI索引实现。这应该起作用:

CREATE CUSTOM INDEX string_search_idx ON file(location) 
USING 'org.apache.cassandra.index.sasi.SASIIndex'
WITH OPTIONS = {
    'mode': 'CONTAINS',
    'analyzer_class': 'org.apache.cassandra.index.sasi.analyzer.StandardAnalyzer',
    'tokenization_enable_stemming': 'true',
    'tokenization_locale': 'en',
    'tokenization_skip_stop_words': 'true',
    'analyzed': 'true',
    'tokenization_normalize_lowercase': 'true'
};
这将搜索“文件”列上的所有“%abc%”查询。
更多信息。

是否有税收的替代方案。它似乎没有适用于windows的版本。我主要在寻找DSE搜索。请注意,SASI索引几乎没有维护,因此在C*4.0中,默认情况下它们将被禁用,要启用它们,您需要更改
cassandra.yaml
。。。