marklogic - XPath 的 MarkLogic 查询
问题描述
我正在评估 MarkLogic 以在我们正在构建的用于存储复杂 xml 文档的新 java 应用程序中使用。其中一项要求是允许用户通过在 gui 中输入 xpath 查询来搜索文档。我无法在 MarkLogic 中找到一种方法来查找 /a/b/c = 'A' 和 /a/d/e = 'B' 的所有文档。我可以看到说查找名称 x 的元素具有值 y 但不适用于完整 xpath 的文档的方式。任何帮助,将不胜感激。
谢谢
布鲁斯
解决方案
关于使用 Java API 提交 XPath 进行搜索的狭隘问题......
QueryManager 使用 MarkLogic Search API 执行搜索请求。
您可以使用两个查询选项创建组合查询 XML 结构,并使用 RawCombinedQueryDefinition 将其包装以将其传递给 QueryManager.search():
http://docs.marklogic.com/javadoc/client/com/marklogic/client/query/RawCombinedQueryDefinition.html
查询选项可以使用 search:searchable-expression 元素指定受约束的 XPath:
http://docs.marklogic.com/guide/search-dev/appendixa#id_60011
综上所述,正如 Geert 所指出的,最好将每个交易拆分为一个单独的文档,这样文档就可以被独立索引和检索——这样用户就不必了解文档层次结构。
推荐阅读
- dialogflow-es - 如何在 DialogFlow 中的短语之间挑选活动
- java - ResourceBundle找不到BaseName gradle项目java
- javascript - 使用 React Suspense 和 React.lazy 子组件进行 Jest/Enzyme 类组件测试
- azure - Azure 是否自行决定取消分配最终用户的 VM?
- r - Editing data frame after reactive upload in R shiny
- xml - Making a XML-built component evoke a non-interface code
- java - 无法获得 go daddy ssl 证书以使用 spring boot
- ios - UISearchBar 清除按钮颜色变化
- spring - Spring Cloud 配置服务 - Git vs Native
- python - 重采样后如何从列中创建新的数据框?