拡張検索

以下を参照してください。

Web クライアントまたは Eclipse クライアントにおける拡張検索のような検索を実行するために、メソッド RAMAssetQueryBuilder.addQueryField(java.lang.String,java.lang.String) を使用して、照会フィールドを RAMAssetQueryBuilder に追加することができます。 最 終変更日時GUID説 明ア セット名評 価所 有者状 態、およびバ ージョンのフィールドがあります。 デフォルトでは、すべての照会フィールドが「and」によって論理的に連結されます (検索は、すべての照会フィールドに一致する結果のみを戻します)。 例えば、名前が Rational Asset Manager Client API Javadoc、バージョンが 7.1 の アセットを見つけるには、以下の検索を実行します。

                // Search exclusive
                queryBuilder = new RAMAssetQueryBuilder(session);
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_NAME, "Rational Asset Manager Client API Javadoc");
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
                
                searchResult = session.getAssets(queryBuilder);

フィールドの処理方法を変更するには 、フィールドを OR で結合した検索を使用できる RAMQueryBuilder.setMatchAnyField(boolean) メソッドがあります。 例えば、バージョンが、7.0、7.0.0.2、または 7.1 であるアセットを見つけるには、以下の検索を実行します。

                //Search Inclusive
                queryBuilder = new RAMAssetQueryBuilder(session);
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.0");
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.0.0.2");
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
                
                queryBuilder.setMatchAnyField(true);
                
                searchResult = session.getAssets(queryBuilder);

名前および値の照会フィールドのほか、テキスト照会フィールドも作成できます。このフィールドは、RAMAssetQueryBuilder.addQueryTextField(java.lang.String) メソッドを使用して、「and」または「or」によってその他の照会フィールドと連結されます。

                //Search API with wildcard
                queryBuilder = new RAMAssetQueryBuilder(session);
                queryBuilder.addQueryTextField("API*");
                queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
                
                searchResult = session.getAssets(queryBuilder);

AND_OPERATOR 演算子および OR_OPERATOR 演算子を使用すれば、さらに複雑な照会を互いに結び付けることができます。 例えば、名前が API、かつバージョンが 7.0、7.0.0.2、または 7.1 であるアセットの照会を作成するには、以下を実行します。

                //Advanced Query
                nonEscapedNameQuery = queryBuilder.createQueryFieldText(
                                queryBuilder.QUERY_FIELD_NAME, "API*");
                queryBuilder.addQueryTextField(nonEscapedNameQuery);
                
                String version71 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.0");
                String version7002 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.0.0.2");
                String version71 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.1");
                
                String versionQuery = version70 + RAMAssetQueryBuilder.OR_OPERATOR + version7002 + RAMAssetQueryBuilder.OR_OPERATOR + version71;
                
                queryBuilder.addQueryTextField(versionQuery);
                
                searchResult = session.getAssets(queryBuilder);

フィードバック