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