Groonga - クリアコード

Groonga

Groongaのトークナイザー: TokenNgramとTokenBigramの違いは?

Groongaのトークナイザーがいっぱいあるけど、どれを使えば良いのか迷っていた阿部です。

特にNgram関連がいっぱいあって迷います。 さらにいうとBigramをしたいときに TokenNgramTokenBigram のどちらを使えば良いのか迷います。 名前からは両方とも同じ処理ができそうです。 今回はこの疑問点について解説します。

この記事はグルカイ!第58回 の内容をククログとしてまとめました。

もっと読む

Mroonga: Ubuntuのパッケージをリビルドして公開する方法

阿部です。

Mroongaのパッケージ提供やLaunchpadの利用を初体験したので、 その経験のまとめ記事です。

具体的にはMroongaをUbuntu向けにリビルドしてパッケージ提供する手順の記事です。 今回はMySQL 8.0向けのパッケージの例です。

バッチが整備されているので実行の手順と、バッチの中身の簡単な解説記事です。

(Launchpadでパッケージ提供する方法を1から解説記事ではありません。 その解説記事はこちら

もっと読む

UbuntuのAPTを使用して、.debパッケージでサードパーティリポジトリを登録しパッケージをインストールする仕組み

最近、Groongaチームに加わると同時に普段使いのmacOSからUbuntuに乗り換え、まだ不慣れな思いをしている児玉です。

Groongaの開発環境を整えることになり、Groongaの最新版をソースコードからビルドするためにサードパーティのリポジトリからパッケージをインストールする場面に直面しました。パッケージの公式サイトを見ながら手順通りにインストールできたものの、その背後にある仕組みが理解できていない状態でした。この状態に少々モヤモヤし、気になっていた気持ちを社内でつぶやいたところ、Debian Developerの林先輩が.debパッケージでサードパーティリポジトリを登録しパッケージをインストールする仕組みを教えてくれました。今回は、その貴重な学びを共有します。

もっと読む

事例紹介 - PGroongaで異体字検索をいい感じに!

PGroongaサポートサービスを担当している堀本です。

トピックスでも触れていますが、国文学研究資料館様向けのサポートサービスで、国文学研究資料館様が運用している国書DBの改良を行いました。 どんな問題があって、どんな改良をしたかについては、トピックスに記載のある動画で紹介していますので、そちらを見ていただければと思います。

この記事では、動画で紹介しきれなかった問題点、解決策の詳細について記載します。

もっと読む

Muninを使ってGroongaのスロークエリーを検出する

Groongaサポートサービスを担当している堀本です。

今回は、Munin(ムニン)というサーバー監視ツールを使ってGroongaのスロークエリーを検出する方法を紹介します。

もっと読む

Groongaのポスティングリストの圧縮方法をPForDeltaからRoaring bitmapsに変更しようと検討したけどPForDeltaのままにした

全文検索エンジンGroongaを開発している須藤です。

爆速OLAPデータベースであるClickHouse全文検索インデックスを実装したというブログ記事の中で「ポスティングリストの圧縮には最先端のRoaring bitmapsを使った」と書いていました。そんなによいものならGroongaのポスティングリストでも使おうかと思って検討してみたのですが、Groongaのユースケースではサイズ・速度ともに現在のPForDeltaの方が優れていたのでRoaring bitmapsは導入しませんでした。ただ、結果セットで使うにはよさそうな気がするので、おいおいそのユースケースでも検討したいです。

もっと読む

YAPC::Kyoto 2023:Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する #yapcjapan

Groongaサポートサービスを担当している堀本です。

2023年03月19日(日)にYAPC::Kyoto 2023が開催されます。 「Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する」という題名で、PerlとGroongaを使ってMySQLのデータを高速に全文検索する方法を紹介します。

もっと読む

SupabaseでマネージドなPGroongaを使える!

PGroongaサポートサービスを担当している堀本です。

PGroongaはPostgreSQLで高速に全文検索するための拡張ですが、 Amazon RDS や Azure Database for PostgreSQL などのマネージドなPostgreSQLでは使えませんでしたが 2022-12-16 からSupabase がPGroongaをサポートしました。

これによって、マネージドなPGroongaを使うことができます!

もっと読む

Groonga delta - 差分ベースでMySQL/MariaDBのデータをGroongaに取り込むツール

Groonga deltaというMySQL/MariaDBのデータをリアルタイムでGroongaに同期するツールを開発した須藤です。どのような使い方・設計・実装になっているかを説明します。

もっと読む

PGroongaでのクラッシュセーフ機能の実装

PGroongaにクラッシュセーフ機能を実装した須藤です。どのような設計・実装になっているかを説明します。

もっと読む