-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
blog: writing PGroonga release announce
- Loading branch information
Showing
1 changed file
with
88 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
--- | ||
layout: post.ja | ||
title: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 1.2.3リリース | ||
description: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 1.2.3をリリースしました! | ||
published: false | ||
--- | ||
|
||
## PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 1.2.3リリース | ||
|
||
PostgreSQLで高速日本語全文検索をできるようにする[PGroonga](https://pgroonga.github.io/ja/)の1.2.3をリリースしました! | ||
|
||
新規ユーザーの方は、PGroonga 1.0.0のリリースアナウンスの[PGroongaについて]({% post_url ja/2015-10-29-pgroonga-1.0.0 %}#pgroonga)も参照してください。 | ||
|
||
## ハイライト | ||
|
||
1.2.1以降のハイライトは次の通りです。 | ||
|
||
* 演算子名の整理 | ||
|
||
* クエリー展開機能をサポート | ||
|
||
* 入力補完機能をサポート | ||
|
||
* 類似文書検索をサポート | ||
|
||
* `jsonb`の全文検索の使い勝手を向上 | ||
|
||
それぞれ説明します。 | ||
|
||
### 演算子名の整理 | ||
|
||
PGroongaはクエリー言語を用いた全文検索用の演算子として[textsearch](https://www.postgresql.jp/document/current/html/textsearch.html)と同じ`@@`を使っていました。これは`@@`だと既存のPostgreSQLユーザーはなじみやすいのではないかという期待からです。しかし、textsearchとPGroongaの全文検索の挙動が違うためにかえって使いにくいものになりました。 | ||
|
||
そこで、`@@`の代わりに`&?`を導入しました。`psql`で直接SQLを実行するときはこれで問題ないのですが、各種言語のクライアントライブラリーから使うときには使いにくかったです。これは、`?`はクライアントライブラリーがSQLを組み立てるときに使うプレースホルダー文字と同じためです。 | ||
|
||
そのため、`@@`でも`&?`でもなく`&@~`を使うことにしました。この演算子名にした理由は次の通りです。 | ||
|
||
* `&`:PGroongaの演算子全体で`&`をプレフィックスに使うようにしたため。 | ||
|
||
* `@`:textsearchの`@@`演算子と同様に全文検索機能を提供することをわかりやすくするため。 | ||
|
||
* `~`:RubyやPerlでは`~`で正規表現によるパターンマッチを表現しているのでそれにならったため。クエリー言語は正規表現ではないが、パターンのようなものと捉えることもできるため、`~`をつけることで「指定したキーワードでの全文検索(演算子名は`&@`)」ではなく「クエリー言語での全文検索」を表現した。 | ||
|
||
`_v2`が付かない既存の演算子クラスでも新しい演算子名を使えるので、徐々に新しい演算子名に移行できます。 | ||
|
||
### クエリー展開機能をサポート | ||
|
||
同義語検索(*)の実現にも使えるクエリー展開機能をサポートしました。 | ||
|
||
(*) 表記が異なっても同じ意味ならヒットする検索。たとえば、「焼き肉」でも「焼肉」でも「焼肉」がヒットする。 | ||
|
||
同義語(クエリー展開ルール)は通常のテーブルで管理します。そのためいつも通り`SELECT`、`INSERT`、`UPDATE`、`DELETE`を使えます。textsearchでは[同義語辞書](https://www.postgresql.jp/document/9.6/html/textsearch-dictionaries.html#textsearch-synonym-dictionary)という専用の仕組みを用意しているため、特別な管理方法になります。 | ||
|
||
クエリー展開機能の詳細は[`pgroonga.query_expand`関数](https://pgroonga.github.io/ja/reference/functions/pgroonga-query-expand.html)を参照してください。 | ||
|
||
### 入力補完機能をサポート | ||
|
||
TODO | ||
|
||
### 類似文書検索をサポート | ||
|
||
TODO | ||
|
||
### `jsonb`の全文検索の使い勝手を向上 | ||
|
||
TODO | ||
|
||
## アップグレード方法 | ||
|
||
1.0以降のすべてのバージョンと互換性があります。[アップグレード](https://pgroonga.github.io/ja/upgrade/)の「互換性がある場合」用の手順でアップグレードしてください。 | ||
|
||
## おしらせ | ||
|
||
### セミナー | ||
|
||
8月1日(火)14:00-16:00に[MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー](https://groonga.doorkeeper.jp/events/62741)を開催します。PGroongaの導入を検討している方はこの機会を活用してください。 | ||
|
||
### サポートサービス | ||
|
||
[PGroongaのサポートサービス](https://pgroonga.github.io/ja/support/)を提供しています。インデックスや検索の設計方法に関するコンサルティングやトラブル時の調査、パフォーマンス改善・新機能追加などの技術支援など、PGroongaに関わるサポートが必要な場合はご相談ください。 | ||
|
||
## まとめ | ||
|
||
PGroongaの新しいリリースを紹介しました。インデックス破損の自動復旧が追加されたりしてどんどん使いやすくなっています。 | ||
|
||
ここで紹介したもの以外の変更点は[リリースノート](https://pgroonga.github.io/ja/news/#version-1-2-3)を参照してください。 | ||
|
||
PostgreSQLで高速に日本語全文検索をしたいという方はPGroongaを使ってガンガン検索してください! |