オンプレ・サーバーからコンテンツの検索をすると「検索結果の取得に失敗しました。リロードをしてもう一度お試しください。」と表示され、リロードしても解消されない。

問題

オンプレー・サーバーから、インサイトの検索をすると「検索結果の取得に失敗しました。リロードをしてもう一度お試しください。」と表示され、リロードしても解消されないことがあります。

解決方法

Exploratoryサーバー内部で使用しているデータベースにある索引が十分でない可能性があります。以下のステップに従って、索引を作成してください。

  • MongoDBのDockerコンテナIDを確認します。docker ps コマンドを実行してコンテナIDの一覧を取得し、その中で、IMAGEが"mongo"で始まっているものを探します。以下の例では、494388a45e11 がコンテナIDになります。

  • 以下のコマンドを実行して、コンテナへの接続を行います。 ((Container ID) は実際のコンテナIDに置き換えてください)
docker exec -it (Container ID) bash
  • 以下のコマンドを実行して、MongoDBへの接続を行います。
mongo exploratory
  • 以下のコマンドを実行して、MongoDBに索引を作成します。
db.notebooks.createIndex({"updatedAt" : -1})
db.notebooks.createIndex({"numlikes" : -1})
db.notebooks.createIndex({"views" : -1})
db.notebooks.createIndex({"downloads" : -1})
db.notebooks.createIndex({"viewStats.last7Days" : -1})
db.notebooks.createIndex({"viewStats.thisWeek" : -1})
db.notebooks.createIndex({"viewStats.lastWeek" : -1})
db.notebooks.createIndex({"viewStats.lastMonth" : -1})
db.notebooks.createIndex({"viewStats.last30Days" : -1})
db.notebooks.createIndex({"viewStats.last365Days" : -1})
db.notebooks.createIndex({"viewStats.thisYear" : -1})
db.notebooks.createIndex({"viewStats.lastYear" : -1})
db.notebooks.createIndex({"viewStats.allTime" : -1})
db.notebooks.createIndex({"viewStats.thisMonth" : -1})