https://github.com/meilisearch/meilisearch
https://www.meilisearch.com/docs/learn/self_hosted/install_meilisearch_locally#docker
・OS: Amazon Linux 2023
・port:7700
・domain:hoge.com
Setup Docker
- install docker
|
1 2 3 4 5 6 7 8 |
dnf update dnf upgrade dnf install docker curl -L "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose |
- compose.yml
|
1 2 3 4 5 6 7 8 9 10 11 12 |
services: meilisearch: image: getmeili/meilisearch:prototype-japanese-184 container_name: meilisearch ports: - "7700:7700" environment: - MEILI_ENV=development - MEILI_MASTER_KEY='hogehoge' volumes: - ./meili_data:/meili_data restart: unless-stopped |
- start
|
1 2 3 4 |
docker-compose up -d [+] Running 2/2 ✔ Network root_default Created 0.1s ✔ Container meilisearch Started |
- access
http://hoge.com:7700
Setup sample data
https://github.com/meilisearch/datasets
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
curl https://raw.githubusercontent.com/meilisearch/datasets/main/datasets/movies/movies.json -o movies.json curl -X POST 'http://hoge.com:7700/indexes/movies/documents' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <YOUR_MASTER_KEY>' \ --data-binary @movies.json curl 'http://hoge.com:7700/indexes/movies/search?q=Batman' \ -H 'Authorization: Bearer <YOUR_MASTER_KEY>' |head % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8304 100 8304 0 0 336k 0 --:--:-- --:--:-- --:--:-- 337k {"hits":[{"id":268,"title":"Batman","overview":"Batman must face his most ruthless nemesis when a deformed madman calling himself \"The Joker\" seizes control of Gotham's criminal underworld.","genres":["Fantasy","Action"],"poster":"https://image.tmdb.org/t/p/w500/hztwplhxe2X9sq24CIcvkUy2DHZ.jpg","release_date":614563200},{"id":2661,"title":"Batman","overview":"The Dynamic Duo faces four super-villains who plan to hold the world for ransom with the du -sh meili_data/ 194M meili_data/ |
ちなみにMeilisearchはRust製のオープンソース全文検索エンジンで、上記サンプルデータを入れてみたが、約3万件(200MB)で2msというなんとも高速なレスポンスを返していた。今回、EC2上にDockerを入れて動かしてみたが、構築が簡単であった。また、MeilisearchはHTTPをベースとしているのとRESTful APIを提供しているので、様々なSDKが利用できるようになっている。自前で運用する場合はスケーリングが気になるが、どんなものかは後ほど調査してみる。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE サブマネージャー。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用、チームマネジメントを担当している。
個人事業主では数社サーバー保守とベンチャー企業のインフラコンサルティングを行うほか、TechBullを創業し、未経験者向けにSREのコーチングやコミュニティ運営、LT大会の開催、 会員管理システム「Members」の開発をリードしている。さらに、エンジニア向けYouTubeメディア「TECH WORLD」ではSRE関連の動画に出演し、過去には脆弱性スキャナ「Vuls」のOSS活動にも貢献。ガジェット系エンジニアYouTuberとしても発信。
