[groonga-dev,01312] Re: mroongaを用いたアプリを開発するにあたって

Back to archive index

Kouhei Sutou kou****@clear*****
2013年 4月 22日 (月) 13:32:38 JST


須藤です。

In <CAH7bM+=mdpr7CVF5jDy6PEdCs15htnXdQ1zuUqQmOxRDJXY_bg****@mail*****>
  "[groonga-dev,01310] mroongaを用いたアプリを開発するにあたって" on Sun, 21 Apr 2013 20:34:17 +0900,
  もんきちさん <re.gz****@gmail*****> wrote:

> さて、現在mroongaを用いたWebアプリ開発を行おうとしているところです。
> 言語としては、Javaを用いての開発を検討しております。
> 
> そこで疑問なのですが、mroongaをJDBC経由で使う事は可能なのでしょうか?

はい、使えます。

まず、mroongaありなしでMySQLへの接続方法は変わらないので、通
常通りJDBC経由でMySQLへ接続すればつながります。

私はJDBC界隈のことをあまり知らないのですが、MySQLもJDBCドラ
イバーを提供しているようなので、それを使うのがよいかもしれま
せん。

少し内容が古いのかもしれませんが、日本語での接続方法の説明が
MySQLのサイトにありました。
  http://dev.mysql.com/doc/refman/5.1/ja/connector-j-usagenotes-basic.html

たぶん、英語のこっちが最新情報だと思います。
  http://dev.mysql.com/doc/refman/5.6/en/connector-j-usagenotes-connect-drivermanager.html

mroongaを使う場合は「CREATE TABLE (...) ENGINE=mroonga;」と
いうようにCREATE TABLEのときに「ENGINE=mroonga」を指定してく
ださい。

参考: http://mroonga.org/ja/docs/userguide/storage.html

> JDBC経由でmroongaの位置情報検索を使用しているサンプルソース等
> があれば、ご教示いただければと思います。

mroongaの位置情報検索機能はMySQLが提供しているMBRContains関
数を使います。mroongaのテストでも使っているのでこれがサンプ
ルになると思います。
  https://github.com/mroonga/mroonga/blob/master/test/sql/suite/mroonga/storage/geometry/t/contains.test#L142

  SELECT id, name, AsText(location) AS location_text FROM shops
    WHERE MBRContains(GeomFromText('LineString(139.7727 35.6684, 139.7038 35.7121)'), location)
    ORDER BY id;

WHEREの中で

  MBRContains(GeomFromText('LineString(北西の点の経度 北西の点の緯度, 南東の点の経度 南東の点の緯度)'), カラム名)

とすると、指定した四角の中にあるレコードが見つかります。

Ruby on Railsを使っていますが、↓の記事でもmroongaで位置情報
検索をしているので参考になるかもしれません。

第2回 groongaをRuby On Railsでも使ってみた ~chikamap.comの
事例から:隔週連載groonga|gihyo.jp … 技術評論社:
  http://gihyo.jp/dev/clip/01/groonga/0002

参考(英語):
  http://dev.mysql.com/doc/refman/5.6/en/functions-for-testing-spatial-relations-between-geometric-objects.html#function_mbrcontains

-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

groongaサポート:
  http://groonga.org/ja/support/
パッチ採用はじめました:
  http://www.clear-code.com/recruitment/
コミットへのコメントサービスはじめました:
  http://www.clear-code.com/services/commit-comment.html



groonga-dev メーリングリストの案内
Back to archive index