yfa02****@nifty*****
yfa02****@nifty*****
2010年 11月 16日 (火) 11:10:28 JST
さとうです。
ローカルのPATH指定ではなく、リモートホスト名とポート番号を指定してrroonga
を利用したいと考えております。
ローカルのファイルPATH指定でgroongaへ接続するには、添付のサンプルにあるように
#database、テーブルは作成済み
Groonga::Database.open("/path/to/groonga.db")
pp Groonga::Context.default["Items"]
とすると、Groonga::Hashオブジェクトが返ってきて、サンプル通り検索もできます。
同じ事をファイルPATH指定でデータベースに接続するのではなく、
ホスト名&ポート番号で接続したいのですが、わかりませんでした。
以下のように、Groonga::Contextを利用し、
groonga_context = Groonga::Context.new(:encoding => :utf8)
groonga_context.connect(:host => 'localhost', :port => 10041)
以下のように直接クエリを投げて、受信することはできました。
groonga_context.send("stats")
groonga_context.receive
ただ、sendやrecieveを直接使うのではなく、
いわゆるrroongaが提供する各種APIを利用したいと考えております。
Groonga::Database.create(:context => groonga_context)
のように、databaseとリンクするのかな、と思って試してみましたが、
一時データベースに接続し、リモートのDBとリンクしているようです。
リモートホストにあるgroongaに接続してrroongaを利用する
方法、サンプルコード、ヒントを教えて頂けると助かります。
よろしくお願いします。