我正在为我的网站开发搜索引擎,希望添加以下功能:
谢谢您的帮助。
- 全文搜索
- “你是想说”的功能
- 数据存储在MongoDB中
谢谢您的帮助。
我个人使用Sphinx和MongoDb,这是一个很好的组合,我没有遇到任何问题。
我将MongoDB备份到一个MySQL实例中,Sphinx快速地对其进行索引。由于你永远不需要主动索引_id,因为我不知道谁会知道您的对象之一的_id以进行搜索,所以您只需将其作为字符串字段存储在MySQL中即可正常工作。
当我从Sphinx中取回结果时,我只需将其转换为(在PHP中)一个新的MongoId
,或者在您的情况下是ObjectId
,然后简单地查询此对象ID的其余数据即可。这再简单不过了,没有问题,没有麻烦,什么都没有。而且我可以将重新索引增量索引的负载分配给我的MySQL实例,让我的MongoDB实例处理它需要处理的内容:为用户提供美味的数据。
id
作为Sphinx Delta索引的关键字。我目前会推荐使用Delta索引而非实时索引。 - Sammaye