고급 검색

웹 또는 Eclipse 클라이언트에서 고급 검색과 유사한 검색을 수행하려면 RAMAssetQueryBuilder.addQueryField(java.lang.String, java.lang.String) 메소드를 사용하여 RAMAssetQueryBuilder에 조회 필드를 추가할 수 있습니다. 마지막 수정 날짜, GUID, 설명, 자산 이름, 평가, 소유자, 상태버전 필드가 있습니다.

참고: 버전 조회 필드인 QUERY_FIELD_VERSION은 퍼지 검색이 아니라 정확하게 일치하는 검색을 사용합니다. 공백이 포함된 문자열을 검색하려면 문자열을 이스케이프된 따옴표로 묶어야 합니다. 예를 들어, 버전에 대한 조회 필드를 추가하려면 "Version 8.0"이 아니라 "\"Version 8.0\"" 양식을 사용하십시오. 버전 조회 필드에 "Version 8.0"을 지정하는 경우, 결과가 리턴되지 않습니다.

기본적으로 모든 조회 필드는 "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_OPERATOROR_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);

피드백