有沒有一種方法可以使用CQL3執行基於字符串前綴的選擇? 例如,請考慮下表:Cassandra CQL 3 - 前綴選擇
Key | Value
------------
ABC | 0x01
ABD | 0x02
BBB | 0x03
我想選擇所有的前綴「AB」鍵。 數據庫將用於存儲空間信息,使用geohash方法。
有沒有一種方法可以使用CQL3執行基於字符串前綴的選擇? 例如,請考慮下表:Cassandra CQL 3 - 前綴選擇
Key | Value
------------
ABC | 0x01
ABD | 0x02
BBB | 0x03
我想選擇所有的前綴「AB」鍵。 數據庫將用於存儲空間信息,使用geohash方法。
這是不可能的「開箱即用」。不過,也有一些「招數」的人想出了,看到這兩個職位:
...另一個(某種程度上類似)的方法可以是定義「複合鍵」,您可以在其中定義一些前綴爲「分區鍵」,例如:{key1,key2}
,其中key1 = AB
和key2 = ABC
...在這些情況下,您可以通過「 key1「並獲得一組行(就像你想要做的那樣),或者通過」key1「和」key2「(如果你想要一個特定的條目)。您也可以只通過「key2」查詢(如果您向「select」查詢添加「允許篩選」,但是如果行數過多,則可能導致「問題」)。不知道你是否可以用你的數據做到這一點...
HTH。
未在C *中內置,但可能與cassandra-lucene-index C *插件一起使用。您可以在列上創建lucene索引,並使用prefix search搜索文本。
更新:自v3.4 Cassandra推出SASI indices提供所需的功能。