はじめに
以前、ElasticSearchを使ってやっていたことがあったのですが、しばらく使ってなくて一度環境設定をやり直そうと思ったらOpenSearchを見つけたのでこちらをインストールしてみることにしました。
環境
- DeepLearningBOX
- Ubuntu 22.x
- OpenSearch 2.18
ダウンロード
以下のURLからダウンロードができます。
でもターミナルから作業をするので以下のコマンドでダウンロードしました。
curl -OL https://artifacts.opensearch.org/releases/bundle/opensearch/2.18.0/opensearch-2.18.0-linux-x64.deb
インストール
以下のコマンドでインストール。
ただし「*****」の部分は自分で使うパスワードを入力して下さい。
sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=***** dpkg -i opensearch-2.18.0-linux-x64.deb
メモリー割当の設定
以下のとおり「1g」の部分を「4g」に変更
sudo nano /etc/opensearch/jvm.options
以下の文字列を探します。
-Xms1g
-Xmx1g
↓ 以下のとおり変更
-Xms4g
-Xmx4g
起動
以下のコマンドにてデーモンとして起動
sudo systemctl enable opensearch
sudo systemctl start opensearch
sudo systemctl status opensearch
動作テスト
以下のコマンドで応答を確認
curl https://localhost:9200 -u admin:***** -k
プラグインのインストール
日本語全文検索ができるように以下のコマンドでkuromojiプラグインをインストール
cd /usr/share/opensearch/bin/
sudo ./opensearch-plugin install analysis-kuromoji
sudo ./opensearch-plugin install analysis-icu
sudo systemctl restart opensearch
動作テスト
以下のコマンドでインデックスを作成
curl -X PUT -H "Content-Type: application/json" "localhost:9200/books?pretty" -d'
{
"settings":{
"analysis":{
"analyzer": {
"default": {
"type": "custom",
"tokenizer": "kuromoji_tokenizer",
"filter": ["kuromoji_part_of_speech"]
}
}
}
}
}'
以下のコマンドで分ち書きできていることを確認
curl -H "Content-Type: application/json" "localhost:9200/books/_analyze?pretty" -d '{"text": "桐島部活やめるってよ"}'
できた!