【发布时间】:2014-08-10 08:29:57
【问题描述】:
本题参考couchdb 1.5.0版
就我的环境而言,我希望能够有效地对数据库中的文档进行排序,以便以后根据某种时间索引进行检索。我在网上读到,在 couchdb 中有四种用于创建 uuid 的算法。
此处列出了显示可用于生成 uuid 的算法的文档:http://couchdb.readthedocs.org/en/latest/config/misc.html#uuids-configuration
我怀疑默认 uuid 算法设置是“顺序的”,当发出 http://couchdb:5984/_uuids?count=50 时,我发现其中大部分(如果不是全部)前 26 位是相同的,后 6 位是唯一的。
我尝试将算法更改为 utc 选项之一(“utc_random”或“utc_id”都可以),其中前 16 位是 Unix 纪元的十六进制时间(以微秒为单位)。
我用来更改 UUID 算法的方法是进入 local.ini 文件并附加以下节(以前没有):
[uuids]
algorithm = utc_random
然后我重新启动 couchdb 服务
service couchdb restart
当我再次查询一批 UUID 时,我仍然得到一个似乎表明正在生成的 uuid 仍在顺序算法中的结果。 (当我在此之后第二次查询 50 个 uuid 时,会注意到“顺序”算法行为)
我做错了吗?任何可以提供的帮助将不胜感激!
更新
在尝试了 Akshat Jiwan Sharma 建议的 curl 命令后,我又深入研究了配置文件并找到了一个 default.ini 文件。这是似乎设置了 uuids 参数的文件,我用 'utc_random' 替换了 'sequential',重新启动了 couchdb 服务,一切都按预期工作。为了找到 couchdb 的配置文件,我使用了一个简单的命令行 couchdb -c 再次感谢大家的帮助,你们太棒了!
【问题讨论】:
-
你能检查一下 couchdb 是否真的在获取配置文件中所做的更改吗?试试
curl http://localhost:5984/_config/uuids? -
谢谢阿克沙特!显然我把配置放在了错误的文件中,这对我很有帮助。