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

Back to archive index

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*****>




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