搜尋

首頁  >  問答  >  主體

關於 mongodb 和 elasticsearch 結合使用

假設我需要根據標題和標籤來搜尋文章。

  1. 索引問題
    在 elasticsearch 中對文章的標題和標籤進行索引之後,是否有必要在 mongodb 中對文章的標題和標籤進行索引?因為在 elasticsearch 中可以得到文章的 id ,然後可以直接使用文章的 id 進行查詢,這種情況下是不是只對文章 id 進行索引就可以了?

  2. 分頁問題
    在不是用 elasticsearch 的時候,我是用 這裡的方法 實作分頁的。實作起來比較繁瑣,因為要拿到 currentId 和 currentPage 才能進行分頁。
    如果使用 elasticsearch 之後,可以直接透過 from / size 實作分頁,但它會傳回 size 個 id,然後再透過 mongodb 進行 size 次查詢。也就是一次分頁會有 size 次查詢。原來的方法應該只有一次查詢。不知道哪一種方法會比較好?

PHPzPHPz2765 天前615

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-24 09:13:34

    1. 如果搜尋是在elasticsearch內完成,則無需再在mongodb裡對標題或標籤做索引。文章id應該預設就有索引,如果你用的是_id欄位
    2. 你可以用 {_id: {$in: [ size 個 id 陣列] }}查詢 來一次得到size個文件。

    回覆
    0
  • 取消回覆