OpenSearch をつかってみた
https://raw.githubusercontent.com/opensearch-project/.github/main/profile/banner.jpg https://raw.githubusercontent.com/opensearch-project/.github/main/profile/banner.jpg
あまり触ったことがなかったので、動かしてみながら触ってみようと思った。
最終的なサンプルコードはこちら。
Rails 環境から利用するため、以下の記事で初期構築を完了させた。
9200 ポートは OpenSearch の API のよう。
code:bash
9600 ポートは Performance analyzer というものらしい。
プラグインのようだが、 Docker イメージには含まれていた。
code:bash
ダッシュボードを使っていろいろやってみる。
kibana は使ったことがあるので、それと同じ感じで使えそう。
Dev Tools を使うとクエリを発行できる。
Ruby クライアントを利用して使ってみる
ドキュメントを読むと、ローカルの OpenSearch に接続する場合は opensearch client , AWS の opensearch に接続する場合は sigv4 クライアントを使うよう。
とりあえずその通りにやってみる。
code:rb
client = OpenSearch::Client.new(
retry_on_failure: 5,
request_timeout: 120,
log: true
)
client.search(index: 'opensearch_dashboards_sample_data_logs')
こんな感じでクエリを組み立てることができる。
code:rb
query = {
'size': 5,
'query': {
'match': {
'ip': q
}
}
}
response = client.search(index: 'opensearch_dashboards_sample_data_logs', body: query)
クエリは Opensearch のドキュメントを調べるとよさそう。
型はこちら。
新しいインデックスを作成してダッシュボードで見たい場合は、 Dashboard Management からインデックスパターンを登録する必要がある。