2017-02-13 11 views
0

Мы создаем корпоративное приложение с ML как базовое БД. Одно из требований - найти различные значения определенного элемента в XML в разных документах.Marklogic- Получить различные значения XML-элемента в документах

Могу ли я получить отчетливое ENTITY_TYPE используя структурированный запрос/комбинированный запрос

Все приведенные ниже документы являются частью коллекции сущностей:

Документ 1

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

Документ 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 в коллекции

Результат: автомобиль, велосипед, грузовик

P.S: Необходимо получить результат на уровне Java. В настоящее время у нас есть API, который генерирует комбинированные запросы MarkLogic (запрос структурированных запросов + опций) на основе ввода. Могу ли я получить отдельные объекты, используя структурированный запрос/комбинированный запрос?

ответ

4

Вы можете сделать это с помощью лексикона (на основе не выше пробелов) https://docs.marklogic.com/guide/search-dev/lexicon

ИЛИ

Вы можете сделать это с индексом диапазона по каждому из значений. https://docs.marklogic.com/guide/admin/range_index

В любом случае вы можете получить значения через значения конечной точки REST. https://docs.marklogic.com/REST/GET/v1/values/[name]

Я считаю, что есть API-интерфейсы Java, если у вас есть ваши лексиконы или индекс диапазона на месте.

+1

Да, API-интерфейсы 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/ узел-DEV/поиск # id_56768). – kcoleman

 Смежные вопросы

  • Нет связанных вопросов^_^