我在Ubuntu Natty上安装了Riak 1.0.2。
我还在数据库中添加了一些示例数据。我正在使用LevelDB后端,因为我想测试二级索引功能。
我添加了test_1
个存储桶。在那个桶中,我添加了以下信息。
array("name" => "Ray_6", "age" => rand(25, 90), "email" => "addr_6@orbican.com") with key "id_1"
array("name" => "Ray_7", "age" => rand(25, 90), "email" => "addr_7@orbican.com") with key "id_2"
array("name" => "Ray_8", "age" => rand(25, 90), "email" => "addr_8@orbican.com") with key "id_3"
我正在尝试使用“搜索”功能查询此数据。下面是我在命令行中输入的CURL请求:
curl http://localhost:8098/solr/test_1/select?q=name:Ray_6
但是当我这样做时,我发现没有找到错误。
有什么我想念的吗?我应该对桶做些什么来让它可以搜索吗?
我很感激一些帮助。
提前致谢。
答案 0 :(得分:2)
首先,上面的URL使用的是Riak Search,而不是二级索引。查询二级索引的URL采用以下形式:
/buckets/<bucket>/index/<fieldname_bin>/query
通过cURL界面创建记录时,通过添加元数据标头来形成辅助索引。不同语言的客户端库将为您生成。
回到你的具体问题。您是否使用search-cmd工具为test_1存储桶安装索引?如果你这样做了,那么你之前是否有数据存在? Riak Search不会追溯索引您的数据。有几种方法可以做到这一点,但如果这只是一个实验性的应用程序,这两种方法都很耗时。
如果您没有太多数据,我建议您在设置索引后重新输入。否则,您需要在读取/写入一段数据时添加二级索引或通过搜索API处理它。这需要时间,但现在可以通过Riak获得。
希望这有帮助。