複数キーの取得方法について

115 views
Skip to first unread message

Taka N

unread,
Nov 12, 2014, 12:23:03 PM11/12/14
to couchb...@googlegroups.com
初めまして。
中村と申します。

Keyの前方一致を実現したいのですがやり方が解らず、
初心者質問で恐縮ですが質問させて下さい。

前方一致で複数のKey情報取得を実現したい
(FileでいうとFile.list()のようなイメージ)と思い、
以下のようなコードで出来ないかと考え、作成しました。

------------------
Cluster cluster = CouchbaseCluster.create("127.0.0.1");
Bucket bucket = cluster.openBucket("bucketname");

Query query = new Query();
query.setRange(key, key+"\\u02ad");
bucket.query(query);
------------------

ここまで書いたところで、コンパイルエラーになるので調べたところ、
bucket.query(Query) が要求しているQueryはinterfaceでFQDNが
com.couchbase.client.java.query.Queryなのに対し、
new している側のQueryは com.couchbase.client.protocol.views.Query で
com.couchbase.client.java.query.Queryをimplements しているわけでも無いため、
エラーになっていました。

ただ、他にめぼしいAPIも見当たらず、どのようにすれば実現可能かが解らずにいます。
正しくはどのように実装すべきなのでしょうか。

よろしくお願いします。

Koji Kawamura

unread,
Nov 13, 2014, 11:19:50 AM11/13/14
to couchbase-jp
中村さん

こんばんは、河村です。

> bucket.query(Query) が要求しているQueryはinterfaceでFQDNが
> com.couchbase.client.java.query.Queryなのに対し、
> new している側のQueryは com.couchbase.client.protocol.views.Query で

Java SDKの1.x系と2.0系が混在しているようですね。
com.couchbase.client.java.query.Queryは2.0のもの、
com.couchbase.client.protocol.views.Queryは1.x系のものです。

2.0になってAPIが色々変わって混乱するかと思います。。

ちなみに、2.0のQueryはN1QL用のインタフェースです。
N1QLを利用する場合はN1QLエンジンを別途インストールしないといけません。
※まだ開発中のため

CouchbaseのView (MapReduce)でクエリする場合、ViewQueryを使います。

Java SDK 2.0でのクエリについては、こちらのブログが参考になると思います。
http://blog.couchbase.com/couchbase-java-sdk-200-developer-preview-2

また、不明なことがあれば、お気軽にどうぞ!
> --
> You received this message because you are subscribed to the Google Groups
> "couchbase-jp" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to couchbase-jp...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Taka N

unread,
Nov 13, 2014, 11:34:01 AM11/13/14
to couchb...@googlegroups.com
中村です。

お返事ありがとうございます。
と書いたところで、Javaであることと、ライブラリのバージョン書くのを
失念していたことに気づきました。
その辺りも含めて察して頂きましてありがとうございます。

com.couchbase.client.java.query.QueryはN1QL用の者だったのですね。
N1QLはまだ色々変わりそうですが、NoSQLに不慣れな人間にとって
利便性の向上に繋がるのではと期待しています。
まだプロジェクトで使うのは難しいですが、正式なものになった折には
是非使わせて頂きたいと思います。

Queryについては、ご教授頂いたとおり、ViewQueryでの使い方を試してみます。
※ViewQueryとQueryが有って混乱気味でした^^;

素早いレスに感謝です。
また何かありましたらお手数ですが、よろしくお願いします。

Reply all
Reply to author
Forward
0 new messages