🌟
StrapiとAmazon OpenSearchを連携する
概要
StrapiとElasticsearchとの連携にあたり、以下の記事が参考になりました。
ソースコードも公開されています。
ここでは、上記の記事を参考にして、Amazon OpenSearchと連携するなど、一部カスタマイズした内容についてメモします。
カスタマイズしたソースコードは以下です。
修正点
以下について、記事ではindexing_type
となっていますが、indexing_request_type
とする必要がありました。
またElasticsearchではなく、Amazon OpenSearchを使用するにあたり、以下のライブラリをインストールする必要があります。
npm install @opensearch-project/opensearch
npm install @aws-sdk/credential-providers
認証の方法はいくつかあると思いますが、ここでは以下のように変更しました。
インデックスへの登録および削除の処理についても、以下のように修正する必要がありました。
上記のような修正の結果、StrapiとAmazon OpenSearchを接続させることができました。
elastic/elasticClient.js
および src/api/search/controllers/search.js
を変更することで、APIの出力結果もカスタマイズできました。これにより、ElasticsearchのAggregationsを使用することができるようになりました。(私の調査不足により、Strapi単体でも実現できるかもしれません。)
まとめ
StrapiとAmazon OpenSearchの連携にあたり、参考になりましたら幸いです。
Discussion