HAYASHI Kentaro
hayas****@clear*****
2013年 4月 22日 (月) 19:35:29 JST
林です。 実験的ではありますが、3.02からサポートされているmroonga_commandを 使うやりかたもあります。(mroonga_commandはまだドキュメントへ反映されていません) # 結果をアプリケーション側で適切に処理してあげる必要はありますが。 ちょうど、mroonga 3.02のリリースノートで指定した円の半径をして検索することのできる geo_in_circleを使った例を紹介しています。 http://sourceforge.jp/projects/groonga/lists/archive/dev/2013-March/001268.html 参考までにどうぞ。 On Mon, 22 Apr 2013 19:09:24 +0900 もんきちさん <re.gz****@gmail*****> wrote: > 須藤様 > > 早速のレスありがとうございます。 > 技評の記事拝見しました。同時に > 少しは驚いてます(笑) > > 一件気になるのは、半径を指定して > の検索をgroonga直呼びでやってい > ることでしょうか。 > > 記事自体新しいものですし、おそら > く現状を考慮して直接呼ぶようなサ > ンプルを示したのではないかと予想 > しております。 > > 今のところ、mroongaを経由せず直 > 接呼ぶ形態をとらないと、半径指定 > の検索はできないのでしょうか? > > 以上よろしくお願い致します。 > 2013/04/22 13:32 "Kouhei Sutou" <kou****@clear*****>: > > > 須藤です。 > > > > 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 mailing list > > groon****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev -- HAYASHI Kentaro <hayas****@clear*****>