Я использую MarkLogic v8.Использование Java API для ограничения контейнера (вложенный)
Я пытаюсь применить контейнер ограничение на структурированном запрос возвращать только документы со значением х в элементе с (вложенные в элементы и б).
queryBuilder.containerConstraint() принимает параметр для имени параметра и определения StructuredQueryDefinition. Мой вариант выглядит следующим образом:
<options xmlns='http://marklogic.com/appservices/search'>
<constraint name='language'>
<element name=\"name\" ns=\"\"/>
</constraint>
</options>
«имя» является имя внутреннего элемента (с), содержащий значение, я хочу сослаться на. Это как вариант должен быть сконструирован, или вместо него следует «называть» имя наивысшего элемента?
Как должно быть построено StructuredQueryDefinition (принятое в качестве параметра на containerConstraint())? Должен ли я писать необработанный XML или использовать методы построения?
Есть ли лучший способ сделать это? У меня уже есть рабочий поиск Term, я просто должен иметь возможность фильтровать с помощью набора свойств внутри документа.
Это выглядит правильно для меня. Вы также можете использовать containerQuery(), как описано в http://docs.marklogic.com/javadoc/client/com/marklogic/client/query/StructuredQueryBuilder.html#containerQuery(com.marklogic.client.query.StructuredQueryBuilder.ContainerIndex ,% 20com.marklogic.client.query.StructuredQueryDefinition) – ehennum