BloGroonga

2013-12-29

今日は2013年のしめくくりのいい肉の日ですね。

Groonga 3.1.1リリース

Groonga 3.1.1 をリリースしました!

それぞれの環境毎のインストール方法: インストール

位置情報検索で座標が矩形範囲にあるかを調べるためのgeo_in_rectangleの世界対応

今回のリリースでは、位置情報検索をするときに使うgeo_in_rectangleを全世界対応にしました。

これまでも、geo_in_rectangleを使うことができましたが、サポートしているのが、北半球の東経の範囲に限定されていました。そのため、赤道や子午線をまたいだような場合では使えませんでした。これは日本に限定しているような場合では実用上問題になりませんが、Groongaの世界進出には妨げとなってしまうので、今回対応しています。

関数の詳細については geo_in_rectangle のドキュメントを参照してください。

特定の範囲内のカラムの値でフィルタするためのbetween関数のサポート

今回のリリースでは、特定の範囲にあるカラムの値を抽出するのに便利なbetween関数をサポートしました。

たとえば、次のようなサンプルデータで

table_create Users TABLE_HASH_KEY ShortText
column_create Users age COLUMN_SCALAR Int32
table_create Ages TABLE_HASH_KEY Int32
column_create Ages user_age COLUMN_INDEX Users age
load --table Users
[
{"_key": "ありす",  "age": 14},
{"_key": "いつき",    "age": 15},
{"_key": "うみ", "age": 16},
{"_key": "えいじ",   "age": 17},
{"_key": "おういちろう",   "age": 18}
]

映倫のR15+に該当するユーザーを検索するには、これまでは次のようなクエリで実現していました。

select Users --filter 'age >= 15 && age <= 17'

これがbetweenを使うと次のようにして検索することができます。

select Users --filter 'between(age, 15, "include", 17, "include")'
[
  [
    [3],
    [["_id","UInt32"], ["_key","ShortText"],["age","Int32"]],
    [2,"いつき",15],
    [3,"うみ",16],
    [4,"えいじ",17]
  ]
]

between関数では、範囲の境界値を含むかどうかを指定できます。上記例では"include"を指定することで、15歳以上17歳以下というのを実現しています。

関数の詳細については between のドキュメントを参照してください。

Fedora 20のサポート

今回のリリースでは、2013年12月17日にリリースされたばかりのFedora 20をサポートしました。それにともないFedora 19のサポートを終了しています。

インストール手順については Fedora 20 のドキュメントを参照してください。

Debian 6.0(squeeze) Ubuntu 10.04(lucid)のサポート終了

今回のリリースでは、予告どおりにDebian 6.0(squeeze)とUbuntu 10.04(lucid)のサポートを終了しました。

これらの環境で使っている人はDebian 7.0(wheezy)もしくはUbuntu 12.04(precise)へ移行するか、あるいはソースからビルドして使うようにしてください。

サポート終了することになった経緯については、 Debian 6.0(squeeze)およびUbuntu 10.04(lucid)サポート終了予定について を参照してください。

さいごに

3.1.0からの詳細な変更点は 3.1.1リリース 2013/12/29 を確認してください。

それでは、Groongaでガンガン検索してください!