我想搜索所有具有“Sample”作为元素“tagname”的属性“attr”和值“attr”的值的MarkLogic文档Java API想要搜索具有特定值的标记的所有marklogic文档
<tagname attr="attr">Sample</tagname>
我想搜索所有具有“Sample”作为元素“tagname”的属性“attr”和值“attr”的值的MarkLogic文档Java API想要搜索具有特定值的标记的所有marklogic文档
<tagname attr="attr">Sample</tagname>
你在找什么是cts:element-attribute-value-query
。
你会想把它包装在cts:search
并限制它。取决于你想要什么,如果你关心元素和属性的值,你可能需要“和”元素值查询。
如果你打算做在MarkLogic查询了很多,你可能想看看在https://docs.marklogic.com/guide/search-dev
用Java API的搜索开发人员指南,你可以使用一个containerQuery()
匹配包含的元素中的子“标记名”,然后使用and()
,value()
约束条件为ElementAttribute
,tagname/@attr="attr"
,另一个value()
约束条件为Element
tagname
,值为“Sample”。
// create the client
DatabaseClient client =
DatabaseClientFactory.newClient(host, port, user, password, authType);
// create a manager for searching
QueryManager queryMgr = client.newQueryManager();
// create a query builder
StructuredQueryBuilder qb = new StructuredQueryBuilder();
// build a search definition
StructuredQueryDefinition query =
qb.containerQuery(
qb.element("tagname"),
qb.and(
qb.value(
qb.elementAttribute(
qb.element("tagname"),
qb.attribute("attr")
),
"attr"),
qb.value(
qb.element("tagname"),
"Sample"
)
)
);
// run the search
queryMgr.search(query, resultsHandle);
'tag'是什么?它是一个元素吗?请给出您的内容的示例示例,以便全面了解问题。 –
@DavidEnnis添加了我正在谈论的标签 – CrazyNerd