搜索

首页  >  问答  >  正文

关于 mongodb 和 elasticsearch 结合使用

假设我需要根据标题和标签来搜索文章。

  1. 索引问题
    在 elasticsearch 中对文章的标题和标签进行索引之后,是否有必要在 mongodb 中对文章的标题和标签进行索引?因为在 elasticsearch 中可以得到文章的 id ,然后可以直接使用文章的 id 进行查询,这种情况下是不是只对文章 id 进行索引就可以了?

  2. 分页问题
    在不是用 elasticsearch 的时候,我是用 这里的方法 实现分页的。实现起来比较繁琐,因为需要拿到 currentId 和 currentPage 才能进行分页。
    如果用 elasticsearch 之后,可以直接通过 from / size 实现分页,但它会返回 size 个 id,然后再通过 mongodb 进行 size 次查询。也就是一次分页会有 size 次查询。原来的方法应该只有一次查询。不知道哪种方法会比较好?

PHPzPHPz2765 天前613

全部回复(1)我来回复

  • ringa_lee

    ringa_lee2017-04-24 09:13:34

    1. 如果搜索是在elasticsearch内完成,则无需再在mongodb里对标题或标签做索引。文章id应该默认就有索引,如果你用的是_id字段
    2. 你可以用 {_id: {$in: [ size 个 id 数组] }}查询 来一次得到size个文档。

    回复
    0
  • 取消回复