Groonga(2)

Groongaのノーマライザーへ機能追加する方針について

Groongaのノーマライザーについてお勉強中の児玉です。

先日、Groongaのノーマライザーに新しい機能を追加しました。その際、最初はどのように進めるべきか悩みました。 そこで、ノーマライザーに機能を追加したいと考えている方へ、私が学んだことをもとに機能追加の方針を紹介します!

Groonga開発者に聞け!(グルカイ!)第68回でも解説しているので、あわせてご覧ください!

もっと読む

PGroongaのユニットテスト

ユニットテストについてお勉強中の阿部です。

今回はPGroongaのユニットテストについて説明します。 どのようなツールを使って、どのようなテストをしているのかと新たにテストを追加する方法を説明します。

Groonga開発者に聞け!(グルカイ!)第60回でも 解説しているので、あわせてご覧ください!

もっと読む

macOSでファイルをたくさん開きたい!

macOSでファイルをたくさん開きたい阿部です。

PGroongaのCIで system call error: Too many open files というエラーが発生しました。 開いているファイルが多すぎてエラーになったようです。

このエラーを回避してCIが成功するように対応したので、その内容を紹介します。 今回はmacOSのCIで生じたエラーなので、macOSでの回避方法の紹介です。

同じエラーに遭遇した方は参考にしてください!

もっと読む

PGroongaに関数を追加する(C拡張編)

PGroongaとPostgreSQLについてお勉強中の阿部です。

先日、PGroongaに便利関数を追加したのでその方法について説明します。 今回はC言語で集合を返す関数を実現する方法です。 主な処理をC言語で実装して、CREATE FUNCTION で関数を追加するかたちです。

PGroongaはPostgreSQLの拡張機能です。 PostgreSQLの拡張機能を1から開発する方法には触れませんが、これから拡張機能を開発する方の参考になると思います。

もっと読む

PGroongaに関数を追加する(SQL編)

PGroongaについてお勉強中の阿部です。

先日、PGroongaに便利関数を追加したのでその方法について説明します。 今回はSQLのみで実現しました。

PGroongaはPostgreSQLの拡張機能です。 PostgreSQLの拡張機能を1から開発する方法には触れませんが、PostgreSQLに関数を追加する方法を知りたい方の参考にはなると思います。

もっと読む

PGroongaでのカスタムWALリソースマネージャーの実装 #postgresql

PGroonga用のカスタムWALリソースマネージャーを実装した須藤です。どのような設計・実装になっているかを説明します。

もっと読む

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の改良を行いました。 どんな問題があって、どんな改良をしたかについては、トピックスに記載のある動画で紹介していますので、そちらを見ていただければと思います。

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

もっと読む