全文搜索的想法MongoDB&的node.js

时间:2012-08-04 15:44:52

标签: node.js mongodb lucene sphinx elasticsearch

我正在为我的网站开发搜索引擎,我想为其添加以下功能;

  1. 全文搜索
  2. 你的意思是
  3. MongoDB中的数据存储
  4. 我想做一个安静的后端。我将手动将数据添加到mongodb并将其编入索引(我更喜欢哪一个?Mongodb索引或其他一些搜索索引库,如Lucene)。我也想使用node.js.这些是我从研究中发现的。对于架构

    ,任何想法都会受到赞赏

    提前致谢

2 个答案:

答案 0 :(得分:7)

我正在使用Node.js / MongoDB / Elasticsearch(基于Lucene)。这是一个很好的组合。流程也令人惊叹,因为所有3个包(可以)都将JSON作为其原生格式处理,因此无需转换DTO等。

看看: http://www.elasticsearch.org/

答案 1 :(得分:2)

我个人使用Sphinx和MongoDb,它是一对很棒的我对它没有任何问题。

我将MongoDB备份到一个Sphinx快速索引的MySQL实例上。因为你永远不需要主动索引_id,因为我不知道谁会知道你要搜索的某个对象的_id,你可以将它作为一个字符串字段存储在MySQL中,它可以正常工作。

当我从Sphinx中取出结果时,我所做的就是转换为(在PHP中)新的MongoId,或者在您的情况下转换为ObjectId,然后只需查询此对象的ID其余的数据。它不可能更简单,没有问题,没有麻烦,没有任何东西。我可以将重新索引delta索引的负载转移到我的MySQL实例上,以保持我的MongoDB实例处理它所需的内容:为用户提供美味数据。