我正在为我的网站开发搜索引擎,我想为其添加以下功能;
我想做一个安静的后端。我将手动将数据添加到mongodb并将其编入索引(我更喜欢哪一个?Mongodb索引或其他一些搜索索引库,如Lucene)。我也想使用node.js.这些是我从研究中发现的。对于架构
,任何想法都会受到赞赏提前致谢
答案 0 :(得分:7)
我正在使用Node.js / MongoDB / Elasticsearch(基于Lucene)。这是一个很好的组合。流程也令人惊叹,因为所有3个包(可以)都将JSON作为其原生格式处理,因此无需转换DTO等。
答案 1 :(得分:2)
我个人使用Sphinx和MongoDb,它是一对很棒的我对它没有任何问题。
我将MongoDB备份到一个Sphinx快速索引的MySQL实例上。因为你永远不需要主动索引_id,因为我不知道谁会知道你要搜索的某个对象的_id,你可以将它作为一个字符串字段存储在MySQL中,它可以正常工作。
当我从Sphinx中取出结果时,我所做的就是转换为(在PHP中)新的MongoId
,或者在您的情况下转换为ObjectId
,然后只需查询此对象的ID其余的数据。它不可能更简单,没有问题,没有麻烦,没有任何东西。我可以将重新索引delta索引的负载转移到我的MySQL实例上,以保持我的MongoDB实例处理它所需的内容:为用户提供美味数据。