2014-10-01 2 views
2

MarkLogic에 익숙하지 않아 사용 설명서가 없습니다. 내가해야 할 일을 알고, 어떻게해야할지 모릅니다.사용자 정의 검색 결과 REST MarkLogic

키 값이 있습니까? ML의 표준 검색 결과와 XML 스 니펫을 반환하는 내 REST 서버에서 검색. 내 XML 파일의 제목 요소를 출력 할 사용자 정의 검색 결과를 만들고 싶습니다.

XSLT 변환 문서를 만들어 서버에 업로드해야하지만 ML의 검색 기능을 대상으로 지정하는 방법이나이를 작성하는 방법을 알 필요가 있음을 알고 있습니다.

방금 ​​xPath를 사용하여 각 파일 제목을 대상으로하는 작업을 만들거나 ML에서 사용자 지정 함수를 사용해야하는 경우 XSLT에 대한 기본 지식이 있습니까?

나는 그것의 조금 넓은 것을 알고있다. 그러나 희망을 갖고 누군가 누군가 나를 가리킬 수있다.

답변

2

여러분은 MarkLogic REST API의 GET /v1/keyvalue 끝점에 대해 이야기하는 것처럼 들립니다. 불행하게도 변환을 선택할 수는 없습니다. 요소 값 쿼리에 대해 구조화 된 쿼리를 사용하는 대신 GET /v1/search을 변형 매개 변수와 함께 사용할 수도 있습니다. 문서에 좋은 syntax reference가 포함되어 있습니다. 변환을 생성 및 관리에

문서는 여기에서 찾을 수 있습니다 :

http://docs.marklogic.com/guide/rest-dev/transforms#chapter

HTH를!

0

이 키 - 값 또는 전체 텍스트입니까? 키 - 값의 경우 XPath를 사용할 수 있습니다. / 또는 // 또는 fn:collection() 또는 fn:doc()으로 시작하는 XPath는 전체 데이터베이스를 검색합니다. 특정 문서 또는 컬렉션을 검색 할 수도 있습니다.

전체 텍스트의 경우 매우 낮은 수준의 컨트롤에는 https://docs.marklogic.com/search:search 또는 아마도 https://docs.marklogic.com/cts:search을 사용하고 싶을 것입니다.

https://github.com/marklogic/RunDMC에 XSL의 search:search을 사용하는 몇 가지 예제 코드가 있는데, 도움이 될 것입니다. REST API를 사용하지 않습니다. 이는 전통적인 양식 제출 웹 페이지입니다. 그러나 view/search.xsl 코드는 XSLT에서 검색 API를 호출하는 방법을 알려줍니다.

XQuery에서 XSL을 호출해야하는 경우 해당 RunDMC 코드도 도움이 될 수 있습니다. controller/transform.xqy을 살펴보십시오.

2
당신은 결과의 메타 데이터 요소에 제목 요소 또는 JSON 속성을 포함 search:search 또는 /v1/search/ REST API endpoint로 검색 옵션에서 extract-metadata을 사용할 수 있습니다

: 당신이 더 많은 유연성을 필요로하는 경우

import module namespace search = "http://marklogic.com/appservices/search" 
    at "/MarkLogic/appservices/search/search.xqy"; 

search:search(
    "my query string", 
    <options xmlns="http://marklogic.com/appservices/search"> 
    <extract-metadata> 
     <qname elem-ns="" elem-name="title"/> 
    </extract-metadata> 
    </options>) 

, 당신은 custom snippet implementation를 지정을 또는 검색 옵션에 results decorator function을 입력하십시오.

+0

이것은 내가 필요로하는 것과 너무 가깝다. 나의 마지막 문제는 특정 속성을 가진 요소가 존재할 때만 결과가 반환되는 조건이 필요하다는 것이다. 제약 조건을 사용해 보았지만 작동하지 않습니다. 궁극적으로/v1/keyvalue 내 검색 결과를 제한하려면 내 요소/속성 검색을 반환해야합니다. – Key

+0

가능한 속성 값을 알고 있습니까? 그렇다면 값 쿼리에 값 배열을 전달할 수 있습니다 (http://docs.marklogic.com/guide/search-dev/structured-query#id_39758).그렇지 않은 경우 데이터 모델을 조정해야합니다. Marklogic에서는'cts : element-query ($ qname, cts : and-query (()))')를 사용하여 요소의 존재를 검사 할 수 있지만'cts : 검색어'. – joemfb

관련 문제