2017-12-04 23 views
1

정렬/정렬 쿼리를 추가하려고합니다. 내 자바에서Marklogic과 이야기하기 전에 내 StructuredQueryBuilder에 정렬 쿼리를 추가하는 방법

:

StructuredQueryBuilder qb = new StructuredQueryBuilder(); 
QueryDefinition queryDef = qb.and(qb.value(qb.jsonProperty("status"), "Active"));    
SearchHandle resultsHandle = new SearchHandle();   
queryManager.setPageLength(PAGE_SIZE_TEN); 
int start = PAGE_SIZE_TEN * (pageNumber - 1) + 1; 
queryManager.search(queryDef, resultsHandle, start); 

위의 상태 "활성"로, 변수 "시작"에 지정된 각 페이지에 대해 발견 10 개 JSON 파일이있는 resultsHandle를 반환합니다.

QueryDefinition queryDef = qb.and(qb.value(qb.jsonProperty("status"), "Active"), 
            qb.sort?(qb.jsonProperty("dateCreated")); 

나는 그것이 최근 날짜 순서대로 나에게 1 일 10 JSON 파일을 얻으려면 :

내 질문에 나는 다음의 라인을 따라 아마도 뭔가 같은 정렬 쿼리를 포함 할 방법이다. 결과를 얻은 후에 Comparator를 수행하기에는 너무 늦습니다. 결과는 특정 순서가 아닌 임의의 10 개 JSON 파일을 반환합니다. json으로 파일의

몇 가지 샘플과 같은 모양 : 1.json

[ 
{ 
    "id":"1", 
    "dateCreated":"2017-10-01 12:00:00", 
    "status":"Active" 
    "body":"This is a test" 
} 
] 

2.json

[ 
{ 
    "id":"2", 
    "dateCreated":"2017-10-02 12:00:00", 
    "status":"Active" 
    "body":"This is a test 2" 
} 
] 

가 나는 열거 StructuredQueryBuilder.Ordering, 내가 어떻게 사용합니까 거기 실현 그것?

답변

0

StructuredQueryBuilder.Ordering은 특별히 near-query과 함께 사용하며 원하는 작업과 관련이 없습니다. 조회 옵션을 사용하여 검색 결과의 정렬 순서를 정의해야합니다. sort-order 쿼리 옵션을 참조하십시오 :

http://docs.marklogic.com/guide/search-dev/appendixa#id_44212

옵션은 미리 정의 및 MarkLogic에 설치 한 다음 검색에서 참조, 또는 런타임에 그것들을 정의하고 결합 된 쿼리에서 구조화 된 쿼리를 결합 할 수 있습니다 할 수 있습니다 .

+0

다른 방법이있다 : "" – Ronaldo

+0

내가 묻는 내용을 이해할 수 없습니다. 이것은 XML 네임 스페이스 선언입니다. 인터넷 연결을 의미하지는 않습니다. – kcoleman