1 of 27

Meilisearch Cloud�に無料プランが出たので�Elastic Cloud�と比較してみる

2 of 27

自己紹介

   @teramotodaiki

ゲームを作ってプログラミングが学べるHackforPlay(ハックフォープレイ)�というサービスを友人と二人で作ってます

JavaScriptでゲームが作れて、作品を投稿して、みんなで遊んだりできます

いわゆるUGC(ユーザー投稿型)のWebサービスです

3 of 27

全文検索したいよね

投稿サービスなので投稿作品やユーザーを検索したい

日本語でもいい感じに検索したい

で実装された現在の検索機能

(デプロイはElastic Cloud)

4 of 27

あとお金もあんまり

かけたくない!!!

なるべく努力せずに

日本語で検索したい!

5 of 27

でもお金はあんまり

かけたくない!!!

検索アルゴリズムなんて

なにひとつ分からないけど

日本語で全文検索したい!

6 of 27

Meilisearch Cloud

🎉 無料プラン発表 🎉

※Meilisearch社が提供するフルマネージドサービス

7 of 27

よし、Meilisearch試すか

curl -L https://install.meilisearch.com | sh

./meilisearch

これで起動する

公式ドキュメントが分かりやすい!

https://docs.meilisearch.com/

8 of 27

とりあえずサンプルデータ突っ込んでみる

http://localhost:7700 にサーバが立ってて、REST APIでデータを突っ込む

curl \

-X POST 'http://localhost:7700/indexes/movies/documents?primaryKey=id' \

-H 'Content-Type: application/json' \

--data-binary @movies.json

たったこれだけで movies インデックスが作られ、しばらくすると検索可能になる

9 of 27

http://localhost:7700 が最初からこうなってる

10 of 27

何もしてないのに

達成感すごい

11 of 27

日本語は……?

※HackforPlayの� 作品データ全部(90k)

 突っ込んで、USの

 Meilisearch Cloud

 上でこのスピード

12 of 27

俺、

全文検索

分かっちゃったかも…

13 of 27

Firebase Summit 2022

Firestoreが COUNT() 関数をサポートしたことで拍手喝采が起こった伝説の回

14 of 27

Extensions Marketplace

15 of 27

Firestoreのデータ全部インデックスしてくれる

16 of 27

Firebase + Meilisearch Cloud

=

サーバーサイドまったく

書かずに全文検索できる

フロントエンドマンの夢

内部的には          が自動で作られる

17 of 27

ExtensionがあるのはMeilisearchだけではない

個人開発者が使うには…

  • Algoliaは高い $1/1k reqs
  • Typesenseは日本語対応がダルいらしい�(試したことはない)

  • ElasticSearchは?

18 of 27

ElasticSearch、難しすぎん?(個人の感想です)

僕はただ日本語を検索したいだけなのに�こんなに長い記事を読まないといけない →

kuromoji pluginとn-gram pluginを入れて

フィールドのデータ型を定義して

tokenizeranalyzerを設定して

char_filtericu_normalizerを入れて…

俺は日本語をいい感じに

検索したいだけなんだが💢

19 of 27

もちろんElasticSearchはすごい

何十億ものドキュメントを検索できるくらいスケールする

強力なプラグインエコシステムがある

ググったら色々出てくる

Elastic Cloudのサポートには日本人もいる

Elastic社が積み上げてきた信頼と実績は、そう簡単に揺らぐものではない

20 of 27

Meilisearchを使ってみた感想

👍 Good

  • NoSQLっぽくて好き
  • データ突っ込むだけ
  • 単純な検索なら ?q=〇〇 だけ
  • 俺が必要な機能は大体揃ってる
  • 公式ドキュメントが分かりやすい

👎 Bad

  • デフォルトで全部検索可能&閲覧可能なのは流石にどうなの?って思うときある
  • 無限に事故りそう
  • 仕事で使いたくはない(今のところ)

21 of 27

画像URLの.jpgに反応する

Meilisearchさん

22 of 27

うっかりデータ漏洩しても

許される サービスなら

Meilisearch Cloud一択

※ 筆者は一切責任を取りません

23 of 27

後日談というか、今回のオチ。

Meilisearch Cloud Betaの頃は元々違う料金体系(月額$29固定)だった

ルンルンで実装を進めていたところ、「料金改定するよ!」というメールが

「無料プラン?」嫌な予感がしてPricingを確認したところ…

24 of 27

後日談というか、今回のオチ。

Meilisearch Cloud Betaの頃は元々違う料金体系(月額$29固定)だった

ルンルンで実装を進めていたところ、「料金改定するよ!」というメールが

「無料プラン?」嫌な予感がしてPricingを確認したところ…

 Free quota HackforPlay

 Up to 100k documents 103,992 documents

 Up to 10k search reqs/month 15k search reqs/month

・・・超えとるやん

25 of 27

26 of 27

27 of 27

Elastic Cloud

最高!!

★ Elastic Cloudの最小構成は月額約$20からーー!!

HackforPlayはElasticSearchを愛用しています!