- paraを使ってみた件
- 前回はscooldとparaを組み合わせてQAサイトをローカルに構築しました
- 今回はpara単体で使ってみようと思います
- 環境とかバージョンとか諸々は次のとおりです(前回と同じ)
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ docker -v
Docker version 20.10.7, build f0df350
$ docker-compose -v
docker-compose version 1.25.0, build unknown
$ node -v
v16.4.2
$ npm -v
7.18.1
- 今回もDocker、docker-composeを使っていきます
docker-compose.yml
はこちら
version: '3.4'
services:
para:
image: erudikaltd/para:latest_stable
ports:
- "8080:8080"
volumes:
- type: volume
source: paraData
target: /para/data
- type: volume
source: paraLib
target: /para/lib
- type: bind
source: ./para-application.conf
target: /para/application.conf
restart: always
environment:
- JAVA_OPTS=-Dconfig.file=/para/application.conf -Dloader.path=/para/lib
volumes:
paraData:
paraLib:
- 前回使ったものの流用です
- 前回同様この後のセットアップは同じなので手順は省略します
- para-cliを使ってオブジェクトを保存してみます
- 次のファイルを作ります
{
"id": 1,
"type": "demo_json",
"data": "hello, para!"
}
$ para-cli create file.json
✔ Creating file.json
✔ Created 1 objects with a total size of 0 KB.
✔ Created 1 objects.
$ para-cli search "id:1"
[
{
"id": "1",
"type": "demo_json",
"name": "file.json",
"stored": true,
"indexed": true,
"cached": true,
"version": 0,
"timestamp": 1625975404319,
"appid": "para",
"votes": 0,
"objectURI": "/demo_json/1",
"plural": "demo_jsons",
"data": "hello, para!"
}
]
- 作成したJSONの内容が返ってきました
- かつ、いろいろな情報が追加されているのがわかりました
- いろいろな検索を試してみましたが、とりあえずフィールドをキーにして検索はできるみたいです
- typeフィールドで検索
$ para-cli search "type:demo_json"
- nameフィールドで検索
$ para-cli search "name:file.json"
- timestampフィールドで検索
$ para-cli search "timestamp:1625975404319"
- ANDなどで検索条件を追加できます
$ para-cli search "id:1 AND type:demo_json"
- ワイルドカードも使えました
$ para-cli search "id:1 AND type:demo_*"
- 削除を試します
$ para-cli delete --id 1
✔ Deleted objects " [ '1' ] " from Para.
$ para-cli search "id:1"
[]