Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[7.1.2] Bug: 検索機能が使えない #9429

Open
komanezumi opened this issue Nov 21, 2024 · 2 comments
Open

[7.1.2] Bug: 検索機能が使えない #9429

komanezumi opened this issue Nov 21, 2024 · 2 comments

Comments

@komanezumi
Copy link

Environment

Host

item version
OS ubuntu
GROWI 7.1.2
node.js 20.18.0
npm 10.8.2
Using Docker yes
Using growi-docker-compose no

Client

item version
OS Windows 11 Pro 23H2
browser Google Chrome 131.0.6778.69

How to reproduce? (再現手順)

  1. 検索にキーワードを入力して検索する

What happens? (症状)

  • 検索結果が 0 pages と表示される
    growi_search

What is the expected result? (期待される動作)

  • 検索結果が表示されること

Note

  • バージョンを7.0.23に戻すと検索機能が使えるようになったが、7.0.23に戻した場合も、検索結果が2000件を超えると失敗する。
@yuki-takei
Copy link
Member

@komanezumi ちょっと情報が少ないので以下確認お願いします。

  1. v7.1.x へのアップグレードガイド を確認してください
  2. 管理画面の全文検索管理からインデックスのリビルドを試してください
    • その際にサーバーログに何か出ていないか確認してください
  3. 検索実行時にサーバーログに何か出ていないか確認してください

2と3の情報をいただければトラブルシュートのお手伝いができるかもしれません。

@komanezumi
Copy link
Author

ありがとうございます。
教えていただいた情報から再度確認したところ、MongoDBのバージョンが古かったことと、ElasticSearchのプラグインの導入について問題があることが分かりました。

MongoDBはv4.4からv8にアップグレードし、ElasticSearchのプラグインは正常にインストールしました。
その結果、Growi7.1.2でも全文検索管理のインデックスのリビルドが動くようになりました。

しかし、リビルドを開始すると『インデックスの状態』が『リビルド中または破損しています』の状態のままになり、ずっと待っていると『Failed to retrive AdminHome data』というエラーがブラウザ上に出力されます。

それでも、1500件位までのサイトではインデックスの生成が完了しているようで、検索ができますし、全文検索管理のページを再表示すると状態は正常になっています。

4000件近くあるサイトで同様にリビルドを実行すると添付がぞのように2000件のところで止まったままになります。
そして以下のエラーログが出力されます。
再度全文検索管理のページを表示すると『リビルド中または破損しています』の状態ですが、検索することはできます。
しかし、全てのページが検索できていないようで、特に新しいページがインデックスに含まれていないように思います。

{"name":"growi","hostname":"growi-xxxxx","pid":1,"level":50,"msg":"Unhandled Rejection: Promise: Promise {\n  <rejected> TypeError: Cannot read properties of null (reading 'map')\n      at ElasticsearchDelegator.generateDocContentsRelatedToRestriction (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:285:50)\n      at ElasticsearchDelegator.prepareBodyForCreate (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:314:21)\n      at /opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:406:34\n      at Array.forEach (<anonymous>)\n      at Writable.write [as _write] (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:405:23)\n      at doWrite (node:internal/streams/writable:596:12)\n      at clearBuffer (node:internal/streams/writable:781:7)\n      at onwrite (node:internal/streams/writable:651:7)\n      at Writable.write [as _write] (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:432:17)\n      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n} Reason: TypeError: Cannot read properties of null (reading 'map')\n    at ElasticsearchDelegator.generateDocContentsRelatedToRestriction (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:285:50)\n    at ElasticsearchDelegator.prepareBodyForCreate (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:314:21)\n    at /opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:406:34\n    at Array.forEach (<anonymous>)\n    at Writable.write [as _write] (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:405:23)\n    at doWrite (node:internal/streams/writable:596:12)\n    at clearBuffer (node:internal/streams/writable:781:7)\n    at onwrite (node:internal/streams/writable:651:7)\n    at Writable.write [as _write] (/opt/growi/apps/app/dist/server/service/search-delegator/elasticsearch.js:432:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","time":"2024-11-23T06:45:55.696Z","v":0}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants