search

Home  >  Q&A  >  body text

关于 mongodb 和 elasticsearch 结合使用

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

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

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

PHPzPHPz2834 days ago649

reply all(1)I'll reply

  • ringa_lee

    ringa_lee2017-04-24 09:13:34

    1. If the search is done in elasticsearch, there is no need to index titles or tags in mongodb. The article ID should be indexed by default, if you use the _id field
    2. You can use {_id: {$in: [ size id array] }} query to get size documents at one time.

    reply
    0
  • Cancelreply