我们决定将mongodb用于某些Web应用程序(而不是mysql),但希望继续使用sphinx来索引/搜索存储在mongodb中的所有数据.因为mongodb object-id是默认的哈希 - 我们希望保持这一点 - 现在使用sphinx存在一个问题.正如它在sphinx文档中所说:
所有文档ID必须是唯一的非符号非零整数(32位或64位,取决于构建时间设置).
所以...解决这个问题的最佳方法是什么...我们如何将mongodb object-id映射到非零整数(和返回)?
UPDATE
casey的答案是正确的方向,但事实证明,字符串属性在当前的dev版本中,仅适用于sql数据源.对于xmlpipe,必须将补丁应用于结帐源.有关这方面的更多信息可以在sphinx论坛中找到.
cas*_*sey 28
您不能将对象ID用作Sphinx文档ID - MongoDB对象ID大于Sphinx文档ID的最大大小.
相反,您可以在生成Sphinx要处理的XML时增加一个唯一ID(我假设您使用xmlpipe将Mongo数据导入Sphinx?)并将MongoDB对象ID存储为Sphinx中的字符串属性.
你需要最新的Sphinx开发版本才能做到这一点 - 请参阅我对这个问题的回答以获得更多细节:不使用auto_increment id的Sphinx
归档时间: |
|
查看次数: |
14499 次 |
最近记录: |