1

OPENCMIS ライブラリを使用して、Sharepoint の CMIS コネクタに接続しています。特定のライブラリ (CMIS 言語のリポジトリ) に接続した後、基準 (例: name = myTestDocument) を満たす特定のライブラリからドキュメントのリストを取得しようとしました。次のクエリで完全に機能します。

select * from document where cmis:name = 'myTestDocument'

これは問題ありませんが、条件はユーザーが入力するため、CONTAINS 述語を使用して完全な名前なしで検索できるように切り替えます (例: "myTestDocument" ではなく "Test" のみ)。したがって、クエリは次のようになります。

select * from document where contains('Test')。

ライブラリ内の基準を満たすドキュメントだけでなく、他のライブラリからのドキュメントも返します。

接続されたライブラリでのみ検索を強制する方法について誰か考えがありますか?

4

1 に答える 1

1

私は同じ問題を抱えていましたが、CMIS ドキュメント1に記載されているように、IN_TREE() 述語関数を使用して解決しました。

結果のクエリは次のとおりです。

select * from document where contains('Test') および IN_TREE(-1)

「-1」はリポジトリのルート ID を表します (CMIS ドキュメントにもあります)。

よろしく、

ジェローム

于 2012-03-13T15:55:44.440 に答える