如果对象中键的值是列表,我如何查询 cassandra 或 riak 中的数据
example=> Genre[Key] : Pop, rock [Values]
我想列出所有类型为摇滚等的歌曲。
我可以使用 Cassandra/Riak 的二级索引来做到这一点吗?
如果对象中键的值是列表,我如何查询 cassandra 或 riak 中的数据
example=> Genre[Key] : Pop, rock [Values]
我想列出所有类型为摇滚等的歌曲。
我可以使用 Cassandra/Riak 的二级索引来做到这一点吗?
是的,Riak 的二级索引可以为您处理这个问题。
您只需将对象存储在 Riak 中并使用适当的流派对其进行索引。
假装你的数据看起来像这样(JSON):
{ "song":"My awesome song", "genres":["rock", "alternative"] }
您将存储对象并使用流派的二进制索引(使用 curl 的示例):
curl -v -X PUT \
-d '{ "song":"My awesome song", "genres":["rock", "alternative"] }' \
-H "Content-Type: application/json" \
-H "x-riak-index-genre_bin: rock" \
-H "x-riak-index-genre_bin: alternative" \
http://127.0.0.1:8098/riak/mybucket/mykey1
要让所有歌曲都被“摇滚”索引,你可以这样做:
curl http://127.0.0.1:8098/buckets/mybucket/index/genre_bin/rock
Riak Search可以轻松处理这个问题,但您可能需要确保您的条目被正确索引,例如通过将列表连接到二进制字符串。