Rabbit Slide Show

Horimoto Yasuhiro's slides

Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する

MySQLのデータを全文検索したいときの良くあるアプローチは以下の3つがありますが、それぞれ課題があります。 1. MySQLのデフォルトのストレージエンジンInnoDBの全文検索機能を使う。 2. 別途Elasticsearchを用意し、アプリケーションでMySQLとElasticsearchのデータを同期し、検索はElasticsearchで行う。 3. 別途Elasticsearchを用意し、Logstashを使ってMySQLのデータをElasticsearchに同期する。 上記のアプローチの課題を解決する方法として、GroongaとGroongaのデータをMySQLに取り込むツール、GroongaのHTTPでクライアントライブラリーを組み合わせた構成を紹介します。

  • rabbit
  • mysql
  • groonga
  • fts
  • yapckyoto

2023-03-19

Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する

PGroongaを使って全文検索結果をより良くする方法

PostgreSQL で使用できる全文検索の拡張に PGroonga という高速に全文検索できる拡張があります。 PGroongaはバックエンドに本格的な全文検索エンジンGroongaを使っており、高速な全文検索以外にも、 より良い検索結果を出すための機能(検索結果の適合率や再現率の向上や、より良い結果順にするためのスコアリング) が盛り込まれています。 PGroongaはPostgreSQLの拡張なので、SQLベースでこれらの機能を使うことができ、 SQLを使い慣れている人であれば、比較的スムーズにこれらの機能を使えます。 本発表では、全文検索結果をより良くするPGroongaの機能について、どのような機能があり、 それらをどう使うのかについて網羅的に紹介します。

  • rabbit
  • postgresql
  • pgcon21j
  • fts
  • search
  • pgroonga
  • groonga

2021-11-12

PGroongaを使って全文検索結果をより良くする方法 PGroongaを使って全文検索結果をより良くする方法

PostgreSQLで高速・高機能な日本語全文検索

PostgreSQLで日本語の全文検索をするには、LIKE演算子を使って実現できますが、インデックスを使用しないため、データ量が多い場合には低速です。 英文については、インデックスを使用した全文検索が可能ですが、日本語には対応していません。 PGroonga(ぴーじーるんが)は、全言語対応の高速な全文検索機能をPostgreSQLで使えるようにする拡張で、安定して高速で、かつ高機能です。 本発表では、PGroongaの速さや便利さを紹介します。

  • rabbit
  • jtf2021w
  • fts
  • search
  • pgroonga
  • groonga

2021-01-24

PostgreSQLで高速・高機能な日本語全文検索 PostgreSQLで高速・高機能な日本語全文検索

PGroonga運用技法 ~PGroongaのWALを放置していませんか?~

PostgreSQL で使用できる全文検索の拡張に PGroonga という高速で高性能な拡張があります。 PGroongaはインストールも難しくなく、インデックスの設定もそれほど複雑ではないので、高速な全文検索を容易に利用できますが、 レプリケーションを使用した運用においては注意が必要な点があります。 本発表では、後のトラブルを防ぐために知っておいたほうが良いことや、トラブルを防止するためのメンテナンス方法について紹介します。

  • rabbit
  • postgresql
  • pgcon20j
  • fts
  • search
  • pgroonga
  • groonga

2020-11-13

PGroonga運用技法 ~PGroongaのWALを放置していませんか?~ PGroonga運用技法 ~PGroongaのWALを放置していませんか?~

Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索

PostgreSQL で使用できる全文検索の拡張に PGroonga という高速で高性能な拡張があります。 PGroonga は、全言語対応の超高速全文検索機能を PostgreSQL で使えるようにする拡張で、 安定して高速で、かつ高機能(同義語、表記ゆれや異字体への対応、類似文書検索などが使えます)です。 Amazon RDS は Amazon がクラウド上で提供する RDBS サービスで、データベースのインストールや パッチ適用、スケールアウト、バックアップなどを Amazon が面倒をみてくれるため、 運用上の手間を大幅に減らすことができます。 Amazon RDS は、とても便利なのですが、拡張機能を自由にインストールすることができません。 以下の URL の一覧にある拡張しか使えません。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.Extensions.11x PGroonga も使えないため、日本語を始めとする多言語対応の超高速全文検索機能を Amazon RDS では使うことができません。 そこで、PostgreSQL 10 から使えるようになった、ロジカルレプリケーションと Amazon EC2 上にインストールした PostgreSQL と PGroonga を使って RDS のメリットである、 運用の負担を少なくしつつ、PGroonga を使用して高速で高機能な全文検索ができるような構成を考えました。 本発表では、どのような構成で Amazon RDS のメリットを活かしつつ、Amazon EC2 上で PGroonga を使った全文検索ができるのかを紹介します。

  • rabbit
  • postgresql
  • ChugokuDB
  • fts
  • search
  • pgroonga
  • groonga

2020-01-25

Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索 Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索

Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索

PostgreSQL で使用できる全文検索の拡張に PGroonga という高速で高性能な拡張があります。 PGroonga は、全言語対応の超高速全文検索機能を PostgreSQL で使えるようにする拡張で、 安定して高速で、かつ高機能(同義語、表記ゆれや異字体への対応、類似文書検索などが使えます)です。 Amazon RDS は Amazon がクラウド上で提供する RDBS サービスで、データベースのインストールや パッチ適用、スケールアウト、バックアップなどを Amazon が面倒をみてくれるため、 運用上の手間を大幅に減らすことができます。 Amazon RDS は、とても便利なのですが、拡張機能を自由にインストールすることができません。 以下の URL の一覧にある拡張しか使えません。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.Extensions.11x PGroonga も使えないため、日本語を始めとする多言語対応の超高速全文検索機能を Amazon RDS では使うことができません。 そこで、PostgreSQL 10 から使えるようになった、ロジカルレプリケーションと Amazon EC2 上にインストールした PostgreSQL と PGroonga を使って RDS のメリットである、 運用の負担を少なくしつつ、PGroonga を使用して高速で高機能な全文検索ができるような構成を考えました。 本発表では、どのような構成で Amazon RDS のメリットを活かしつつ、Amazon EC2 上で PGroonga を使った全文検索ができるのかを紹介します。

  • rabbit
  • postgresql
  • pgcon19j
  • fts
  • search
  • pgroonga
  • groonga

2019-11-15

Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索 Amazon RDS+EC2+PGroonga+ロジカルレプリケーションを使った低コスト高速全文検索