2017-02-13 5 views
0

ML을 백엔드 DB로 구축하고 있습니다. 요구 사항 중 하나는 다양한 문서에서 XML의 특정 요소에 대해 고유 한 값을 찾는 것입니다.Marklogic- 문서 전반에 걸쳐 XML 요소의 고유 값 검색

문헌 1

<xml> 
    <entities> 
     <entity_name>Imprezza</entity_name> 
     <entity_type>Car</entity_type> 
     <entity_color>Red</entity_color> 
    <entities> 
<xml> 

문서 :

나는

모든 아래 문서 엔티티의 컬렉션의 일부이다/결합 된 쿼리 구조화 된 쿼리를 사용하여 별개의 ENTITY_TYPE를받을 수 2

<xml> 
    <entities> 
     <entity_name>Ducati</entity_name> 
     <entity_type>Bike</entity_type> 
     <entity_color>White</entity_color> 
    <entities> 
<xml> 

문헌 3

<xml> 
    <entities> 
     <entity_name>Lancia</entity_name> 
     <entity_type>Car</entity_type> 
     <entity_color>Red</entity_color> 
    <entities> 
<xml> 

문헌 4

<xml> 
    <entities> 
     <entity_name>Scania</entity_name> 
     <entity_type>Truck</entity_type> 
     <entity_color>Black</entity_color> 
    <entities> 
<xml> 

요구 사항 : 컬렉션에 나에게 모든 별개의 ENTITY_TYPE을 부여

결과 : 자동차, 자전거, 트럭

피. 결과 : Java 레이어에서 결과를 가져와야합니다. 우리는 현재 입력 기반 MarkLogic 결합 된 쿼리 (구조적 쿼리 + 옵션 쿼리)를 생성하는 API를 가지고 있습니다. 구조화 된 쿼리/조합 된 쿼리를 사용하여 별개의 엔터티를 가져올 수 있습니까?

답변

4

당신은 (상기 공백 기준) 어휘 https://docs.marklogic.com/guide/search-dev/lexicon

OR

당신은 각 값의 범위의 인덱스에이를 수에이를 수있다. https://docs.marklogic.com/guide/admin/range_index

어느 경우 든 REST 끝점 값을 통해 값을 검색 할 수 있습니다. https://docs.marklogic.com/REST/GET/v1/values/[name]

일단 어휘 또는 범위 인덱스가 있으면 자바 API 솔루션이 있다고 생각합니다.

+1

예, Java 및 Node.js 클라이언트 API는 모두 GET/v1/values ​​/ {name}과 동일한 기능을 제공합니다. Java에서는 QueryManager.values ​​(http://docs.marklogic.com/guide/java/searches#id_65191)이고 Node.js에서는 databaseClient.values ​​(http://docs.marklogic.com/guide/)입니다. node-dev/search # id_56768). – kcoleman