k-yomoさんのTerraform Provider Algoliaを試してみる

Algolia社内のSlackでk-yomoさんのTerraform Provider Algoliaが使われているのを見かけて、これは自分も試さねばということで。

Terraformのバージョン

年単位でTerraform使ってなかったので、tfenvで1.0.10入れてuseしました…

$ terraform --version
Terraform v1.0.10
on darwin_amd64

AlgoliaのAPI Keyを準備

Indexを作る権限のあるAPI Keyをexportしておきます。

$ export ALGOLIA_API_KEY=hogehoge

AlgoliaのApplication ID

Algoliaにはアプリケーションという概念があって、それぞれにID(app_id)が付与されます。1つのアプリケーションの中に複数のIndexを保持することができます。

余談ですが、このアプリケーションIDをコピペするのに、私は以前頑張って左側の矢印のところをドラッグしてたのですが、右側の□のところをクリックするとアプリケーションIDがクリップボードにコピーされて便利です 🙂

tfファイルを作ります

一旦、k-yomoさんのterraform-provider-algoliaリポジトリにあるREADMEのサンプルをコピってきて、VS Codeに貼り付けます。というか、Terraform用のExtensionがあるのですね。

諸々設定していきます

とりあえず以下のような感じで

  • name(インデックス名) = “20211104test”
  • attributes_config(属性の設定)
    • searchable_attributes(検索対象属性) = [“foo”, “bar”, “baz”]
    • attributes_for_faceting(ファセット属性) = [“hoge”]
  • ranking_config(ランキングの設定)
    • ranking = [“typo”, “geo”, “words”, “filters”, “proximity”, “attribute”, “exact”, “custom”]
    • custom_ranking = [“desc(iine)”]
  • languages_config(言語の設定)
    • index_languages = [“ja”]
    • query_languages = [“ja”]
    • attributes_to_transliterate = [“*”]

terraformコマンドを叩いていきます

init

$ terraform init
〜略〜
Terraform has been successfully initialized!

plan

$ terraform plan
〜略〜
Plan: 1 to add, 0 to change, 0 to destroy.

apply

$ terraform apply
〜略〜
algolia_index.hoge: Creating...
algolia_index.hoge: Creation complete after 1s [id=20211104test]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Algoliaダッシュボードで確認

検索対象属性

ランキング

言語設定設定

ちなみにTransliterationの設定をミスっていて、後から変更をすることになったのですが↓のように安心ですね 🙂

algolia_index.hoge: Modifying... [id=20211104test]
algolia_index.hoge: Modifications complete after 1s [id=20211104test]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

サポートされているリソース

AlgoliaのSynonymsとかRulesは、自分でポチポチやっていくとシンドイと思うので、コチラでサポートされているのは嬉しいですね!

2021年11月現在サポートされているリソースは以下のようになっております。


日頃からよくデモ用のIndexを作ったりしているのですが、ダッシュボード上でぽちぽちやっていて、全く管理できてない感じになってしまっているので、こうやって設定ファイルとしてバージョン管理していけると非常にありがたいので、今後もこちらを活用させていただきたいと思います!

コメント

タイトルとURLをコピーしました