概要
Redmineの検索機能を強化するプラグインを導入し、検索効率を上げます。
注意点
こちらは、Redmineのプラグイン「knowledgebase」の検索対象ではありません。なので、このプラグインを利用している場合の導入は非推奨です。
(現に、それが分かってアンインストールしました)
プラグイン名
- redmine_full_text_search
動作を確認した環境
- Redmine 4.2
- mysql 8.0.32
- Ubuntu 20.04 LTS
前提
- 筆者が用いているRedmineのDBはMySQLを用いているので、その環境での手順です。
- また、レポジトリの追加はUbuntu20.04で確認しました。
導入時
- パッケージ追加: 要
- Gem追加:要
- DBマイグレーション:要
- 設定後のDBマイグレーション: 要
手順
- パッケージ追加時にaptitudeを利用しています。好みに合わせてaptをご利用ください。
さっくりとした手順
- レポジトリ及び追加パッケージのインストール
- SSHログイン後、Redmineプラグインに移動
- gitでレポジトリをダウンロード
- 新規ジェムをインストール
- DBマイグレーション
- Webサービス再起動
- Redmine管理画面での設定変更
- DB再マイグレーション(記事のインデックス化)
- 設定確認
追加パッケージのインストール
レポジトリをインストールします。
sudo aptitude install-V software-properties-common lsb-release
sudo add-apt-repository universe
# LinuxMintの場合は実施不要
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu $(lsb_release --short --codename)-security main restricted"
sudo add-apt-repository ppa:groonga/ppa
mroongaパッケージをインストールします。
- ●パッケージのインストール
sudo aptitude update
sudo aptitude install -V mysql-server-mroonga
mysqlの再起動を行います。
sudo systemctl restart mysql.service
sudo systemctl status mysql.service
# active (running)を確認します
プラグインのインストール
ディレクトリに移動します。
cd /home/www-data/redmine/plugins && pwd
# 自分の環境に合わせます。
プラグインを配置します。
sudo -u www-data git clone https://github.com/clear-code/redmine_full_text_search
ls -ld redmine_full_text_search
# このディレクトリがあることを確認します
DBマイグレーションを行います。
Gemをインストールします。
cd /home/www-data/redmine && pwd
# 自分の環境に合わせます。
sudo -u www-data bundle install
DBのマイグレーションを行います。
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
Webサービスを再起動します。
sudo systemctl restart apache2
Redmine管理画面での設定変更
- Redmineに管理者アカウントでログインします。
- 管理>プラグインからFull Text Search pluginの設定をクリックします。
- スコアを表示と類似チケットを表示にチェックを入れて保存します。
動作確認
Redmienの検索から、入力したことがある単語を検索しましたが何も引っかかりません。
プラグインのGithubで以下を確認しました。
You need to create index for existing data. You need to run full_text_search:synchronize task until no more synchronize target data.
これに対応します。
インデックス作成
cd /home/www-data/redmine && pwd
# 自分の環境に合わせます。
sudo -u www-data RAILS_ENV=production bin/rails full_text_search:synchronize
# 容量によっては時間がかかります
インデックスの作成確認
インデックス作成後、再度、入力したことがある単語を入力して検索します。
全文検索は非常にうまくいきましたが、ここで問題発生。
プラグイン「knowlegebase」で作成した記事が検索対象に出てこないのです。
これを検索対象に含めるにはプラグインのファイルを追加する必要がありそうですが、2023年2月時点ではそこまでの技量はなく。
やむなく(というか泣く泣く)アンインストールしました。
全文検索プラグインのアンインストール
cd /home/www-data/redmine && pwd
# 自分の環境に合わせます。
sudo -u www-data bundle exec rake redmine:plugins:migrate NAME=redmine_full_text_search VERSION=0 RAILS_ENV=production
cd plugins
sudo rm -rf redmine_full_text_search
ls -ld /home/www-data/redmine/plugins/redmine_full_text_search
# 削除したディレクトリが存在しないことを確認します
sudo systemctl restart apache2.service
再起動後、Redmineが正常に稼働することを確認してknowlegebaseの記事が検索できることを確認しました。
確認しましたが、非常に不本意な結果となりました。
動作を確認した日
2023/02/06