全文検索のAlgoliaの料金がしれっと50%以上安くなって無料枠も10倍になってた（2023年版）

Algolia は全文検索 SaaS の中でも人気があります。

その使いやすさや検索の速さが注目を集める一方、料金の高さがネックになりがちです :moneybag: 

---

そんな Algolia の料金体系が `2023年4月` に変更されていて、特に小〜中規模のサービスにとってはかなり安くなっています。

個人的にはびっくりしたのですが、話題になっているのを見かけなかったので、ご紹介したいと思います。

## TL;DR

- 今年の4月から、無料枠のレコード数が **10 倍** になってる
- ユースケースによっては、 **50 %** 以上安くなってる
- Elasticsearch より安くなった、ということはないけど、選択肢に入りやすくなったかも

---

:::note warn
この記事は、`2023/12/1` 時点の Algolia の料金プランに基づいています。
また、料金計算などは正しくない可能性があります。ご了承ください。
:::

## 想定ユースケース

料金を概算するために、次のようなユースケースを想定します。

- ユーザがコンテンツを投稿するサービス
- 1,000 ユーザが存在している
- 投稿済みのコンテンツは、**全 100,000 コンテンツ**(100 コンテンツ/ ユーザ)
- 1ヶ月で **300,000回検索**が行われる(10,000 / 日)
- 1ドル=150円で計算

比較的小規模なサービスでも、未ログインユーザによる検索が可能なら、これくらいのクエリになることはあるかと思います。


## Algolia 料金プランの遷移

公式で料金プランのリリースノートが無さそう（見つけられなかった）ので、インターネットアーカイブを漁って頑張りました。

|期間|コスト|無料枠|Archive|
|---|---|---|---|
| - 2018/12 | - | 100,000オペレーション/10,000レコード | [スクリーンショット](https://web.archive.org/web/20181203204142/https://www.algolia.com/pricing/)
2019/10 - 2020/03 | ¥10,350 〜| 50,000オペレーション/10,000レコード | [スクリーンショット](https://web.archive.org/web/20200120102926/https://www.algolia.com/pricing/)
2020/04 - 2020/06 | ¥10,350 〜 | 50,000オペレーション/10,000レコード | [スクリーンショット](https://web.archive.org/web/20200624234809/https://www.algolia.com/pricing/)
2020/07 - 2021/06 | ¥45,000 | 10,000リクエスト/10,000レコード | [スクリーンショット](https://web.archive.org/web/20210625091612/https://www.algolia.com/pricing/)
2021/07 - 2022/03 | ¥45,000 | 10,000リクエスト/10,000レコード | [スクリーンショット](https://web.archive.org/web/20220321032054/https://www.algolia.com/pricing/)
2022/04 - 2022/07 | ¥45,000 | 10,000リクエスト/10,000レコード | [スクリーンショット](https://web.archive.org/web/20220704083114/https://www.algolia.com/pricing/)
2022/08 - 2023/03 | ¥45,000 | 10,000リクエスト/10,000レコード |  [スクリーンショット](https://web.archive.org/web/20230314140817/https://www.algolia.com/pricing/)
2023/04 - | ¥21,825 | 10,000リクエスト/100,000レコード | [スクリーンショット](https://web.archive.org/web/20231123034528/https://www.algolia.com/pricing/)

<details><summary>料金計算メモ</summary>

### - 2018/12

プラン: コンテンツが1万超えてるので、ESSENTIAL。
基本料金: $35
超過料金が把握できなかったので中断


### 2019/10 - 2020/03

プラン: 5万オペレーション超えてるので STARTER
基本料金: $29
無料: 250,000オペレーション、50,000レコード
課金対象: 50,000 オペレーション、50,000 レコード
超過料金: $10(100,000オペレーション), $30(60,000レコード)
合計 $29 + $10 + $30 = $69 = ¥10,350

### 2020/04 - 2020/06

プラン: 5万オペレーション超えてるので STARTER
基本料金: $29
無料: 250,000オペレーション、50,000レコード
課金対象: 50,000 オペレーション、50,000 レコード
超過料金: $10(100,000オペレーション), $30(60,000レコード)


### 2020/07 - 2021/06

ユニットとかいう単位が導入される

30 UNIT に 300,000 リクエストと 300,000 レコードが含まれるので、これが適用される

$300 = ¥45,000


### 2021/07- 2022/03

UNITは消えたけど、リクエストかレコードのどっちかに合わされる仕様は変わってなさそう

300,000 リクエストに合わせるので、 $300 = ¥45,000


### 2022/04 - 2022/07

表記変わってるけど同じみたい


### 2022/08 - 2023/03

表記変わってるけど同じみたい


### 2023/04 -

プラン： 10,000 リクエスト超えちゃってるので Grow
基本料金: $0.5
無料枠: 10,000 リクエスト、100,000 レコード
超過分: 290,000 リクエスト
超過料金: $0.5 * 290 = $145
合計: $145 + $0.5 = $145.5 = ¥21,825


</details>

#### オペレーションとリクエスト

オペレーションという単語が登場していますが、これには以下のアクションが含まれます。

- サーチクエリ: ユーザによる検索
- Index操作: インデックスの追加、更新など/レコードの追加、更新、削除
- ACL操作: APIキーの取得、追加、更新、削除
- シノニムとルールの操作: シノニムもしくはルールの取得、追加、更新、削除

`2020/07` 以降はオペレーション全体ではなく、サーチクエリに対してのみコストが発生するようになっているようです。
今回の想定ユースケースではレコードの追加、更新、削除などを考慮していないため見かけ上 `2020/06` 以前が安くなっていますが、実際にはもっと高くなります。


## 無料枠

2023年最新の料金プランは「10,000リクエスト」「100,000レコード」です。有料プランと違い、無料プランでは超過分を課金して追加することはできません。

従来のプランと比べて、レコード数が 10,000 → 100,000 になっているので、個人開発やMVPでの利用であればレコード数が無料枠に収まるのではないでしょうか。

一方のリクエスト数は 10,000 のままです。こちらも、一般公開で未ログインユーザが検索するようなユースケースでは厳しいと思いますが、検索するユーザが限られていたりする場合には無料枠に収めることができるでしょう。


## Algolia は必ずしも高いものじゃないかも

`Algolia 料金` で検索すると、「[全文検索のためにAlgoliaを採用すべきかコスト面から検討する - Qiita](https://qiita.com/qrusadorz/items/74a2e0e5edd7061d8b21) 」 という記事がヒットします。すごく細かく分かりやすく解説されています。僕は３年前にこの記事を読んで、Algoliaは高くて選択肢に入らないという印象を思っていました。

しかし、Algolia は上記の記事が公開された後、２度も大きく料金体系を変更しています。

現状でもとても安いとは言えないですが、ユースケースによっては Elasticsearch を建てるより安く、速く、安定して構築することができる可能性があります。

## 感想

SaaS は料金体系をガラッと変えてくることがあるということを念頭に、新しく技術選定をするときには改めて料金の概算をする必要があると感じました。