« 経済学の根本問題~貯蓄投資バランスとセイの法則 | トップページ | 組織成長モデル「グライナー・モデル」のメモ »

2016/04/13

Redmineの全文検索を高速化するプラグインfull_text_searchのリンク

Redmineの全文検索を高速化するプラグインfull_text_searchが公開されていたのでメモ。
読んでみると、すごくワクワクする。

【参考】
Full text search - Plugins - Redmine

Redmineで高速に全文検索する方法 - ククログ(2016-04-11)

okkez/redmine_full_text_search: Full text search for Redmine

PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - ククログ(2015-05-25)

Ruby on RailsでMySQLとMroongaを使って日本語全文検索を実現する方法 - ククログ(2015-11-10)

Ruby on RailsでPostgreSQLとPGroongaを使って日本語全文検索を実現する方法 - ククログ(2015-11-09)

【1】Redmineはオープンソースでありながら、機能もUIも優れたチケット管理システムだと思うが、おそらく唯一の弱点は、Git連携と全文検索の高速化だと思う。

@akahane92さんは以前から、Redmineの弱点の一つとして、Redmineの画面の右上にある検索ボックスから全文検索する時にチケット数が20万件を超えると応答時間がすごく遅くなる、と指摘されていた。
Redmineは当初は小規模チームのタスク管理に使われていたから、そんなレベルまで大規模に使われる事例は想定していなかったに違いない。
だから、チケット枚数が20万件以上、数百万件を超える場合に全文検索が遅くなるのは仕方ないと思う。

だが、チケットやWikiの履歴を調べたい時に欲しい情報がすぐに検索できなければ、チケット管理システムにナレッジを蓄積するメリットが薄れてしまう。

この全文検索の高速化の問題については、JPLはたぶん知っていて、デフォルト検索が全件検索にならないように、絞り込み機能を追加したり、検索条件を増やしたりして対応してきた。

その問題点や自分が考えていることは既に書いた。

Redmineの検索機能の改善はチケット管理システムにとって重要な要件だ: プログラマの思索

【2】上記の問題に対し、full_text_searchプラグインのメリットは、MySQLとPostgresSQLの2つのDBに対応していて、全文検索エンジンの別サーバーを配置する必要もなく、特に日本語の全文検索に強い点だろう。
「日付ではなくスコア順に並ぶので関連性が高いものが上に表示されやすい」機能があるのも、全文検索の使い勝手が上がるだろう。
また、インデックスをCronで作り直すことも特に記載されていないので、保守も簡単であるように思われる。
リリースノートを見る限り、たぶん、日本語だけでなく他の言語でも同様に高速化しているだろうと思われる。

他に、上記の記事に記載されているように、全文検索を強化するプラグインは既にいくつか公開されている。
だが、日本語の全文検索の高速化に特化したプラグインはありがたい。

Redmineの全文検索にPostgresSQLを使ってLike検索を高速化するRedmine PostgreSQL Search plugin: プログラマの思索

Postgresql Full Text Search - Plugins - Redmine

Full text searching plugin for Redmine (Elasticsearch) - Plugins - Redmine

Redmineがこのようにどんどん機能強化されていく様子は、興味深い。
Redmineも、既に成功したオープンソースの事例の一つになればいいなと思う。

【追記】
@akahane92 さんが200万チケットで全文検索を検証した所、1秒以内で検索結果が表示されたらしい。
おそらくこの機能を使えば、Redmineの全文検索の高速化の問題は解決できるだろう。

Kuniharu AKAHANEさんのツイート: "200万チケット@MySQLでやってみたよ。検索時間は約380ms。 #Redmine の未来が広がって嬉しいな。ありがたいな。/Redmineで高速に全文検索する方法 - ククログ(2016-04-11) https://t.co/s7FA4gSThu @_clear_code"

|

« 経済学の根本問題~貯蓄投資バランスとセイの法則 | トップページ | 組織成長モデル「グライナー・モデル」のメモ »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 経済学の根本問題~貯蓄投資バランスとセイの法則 | トップページ | 組織成長モデル「グライナー・モデル」のメモ »