4

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

  1. 全文搜索
  2. 你是说功能吗
  3. MongoDB中的数据存储

我想做一个安静的后端。我将手动将数据添加到 mongodb 并将其编入索引(我更喜欢哪个?Mongodb 索引或其他一些搜索索引库,如 Lucene)。我也想使用 node.js。这些是我从研究中发现的。任何想法都会受到架构的赞赏

提前致谢

4

2 回答 2

7

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

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

于 2012-08-04T17:27:54.323 回答
2

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

我将 MongoDB 备份到一个 MySQL 实例上,Sphinx 很快就对其进行了索引。由于您永远不需要主动索引_id,因为我不知道谁会知道要搜索的对象之一的_id,您可以将它作为字符串字段存储在MySQL中,它会正常工作。

当我从 Sphinx 中提取结果时,我所做的只是转换为(在 PHP 中) a new MongoId,或者在您的情况下为 a ObjectId,然后简单地在此对象 ID 上查询其余数据。它再简单不过了,没有问题,没有麻烦,什么都没有。而且我可以将重新索引增量索引的负载分拆到我的 MySQL 实例上,让我的 MongoDB 实例处理它需要做的事情:为用户提供美味的数据。

于 2012-08-04T19:04:01.617 回答