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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
C# Fluentcassandra过滤器问题_C#_Cassandra_Fluentcassandra - Fatal编程技术网

C# Fluentcassandra过滤器问题

C# Fluentcassandra过滤器问题,c#,cassandra,fluentcassandra,C#,Cassandra,Fluentcassandra,卡桑德拉和卡桑德拉是新来的 我在从一个值范围中筛选数据时遇到问题。在我看来,我可以使用一个通用列表来过滤结果,但我不知道怎么做 在MSSQL中,我使用这个SELECT*FROM表,其中行1类似于“%search%” CassandraSuperColumnFamily<UTF8Type, UTF8Type> familyname= db.GetColumnFamily<UTF8Type, UTF8Type>("Messages"); var results= family

卡桑德拉和卡桑德拉是新来的

我在从一个值范围中筛选数据时遇到问题。在我看来,我可以使用一个通用列表来过滤结果,但我不知道怎么做

在MSSQL中,我使用这个SELECT*FROM表,其中行1类似于“%search%”

CassandraSuperColumnFamily<UTF8Type, UTF8Type> familyname= db.GetColumnFamily<UTF8Type, UTF8Type>("Messages");
var results= familyname.Get("key")
                .Take(5)
                .FirstOrDefault()
                .AsDynamic();
也许有人能帮我

谢谢
calimero搜索子字符串需要低效的顺序扫描。卡桑德拉并没有让这变得容易,因为这通常是错误的:

如果你想要全文搜索,你应该使用Solandra 如果要进行分析查询,应该在Hadoop上使用Pig或Hive,这将使整个集群的工作并行化
如果您必须执行非并行的seq扫描,那么您必须手动翻页浏览这些行,并检查C代码中的子字符串。

正如jbellis所说,Cassandra 0.7及更高版本现在支持列名扫描。要扫描列名以查找特定值,可以执行以下操作:

var results = familyname.Get(startKey: "key", keyCount: 30, family => family["last_name"] == "Smith")
    .Take(5)
    .FirstOrDefault()
    .AsDynamic() 

上面的代码将从指定的键开始,并在接下来的30个键中扫描一列,该列的名称为last_name,值为Smith。

谢谢jbellis。我将测试SolandraAPI。