웹 또는 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);