You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求MarkLogic cts查询对应的PostgreSQL等价SQL语句

MarkLogic cts查询转PostgreSQL等价语句

原MarkLogic语句功能

原语句用于匹配所有XML文档中,<party>元素范围内包含$text指定的全文搜索内容的文档,核心是限定在<party>标签内执行全文搜索。

等价PostgreSQL查询

场景1:表中存储完整XML文档

如果你的表直接存储XML类型的完整文档(字段类型为xml),可通过XPath提取<party>元素内容后执行全文匹配:

SELECT *
FROM your_table
WHERE to_tsvector('english', xpath('//party//text()', your_xml_column)::text) @@ to_tsquery('english', $text);
  • xpath('//party//text()', your_xml_column):提取<party>元素及其所有子元素的文本内容
  • to_tsvector:将文本转换为全文搜索向量
  • to_tsquery:将$text解析为全文查询向量
  • 替换your_table和your_xml_column为实际表名与XML字段名

场景2:已提取<party>内容到单独字段

如果预先将<party>元素的文本内容提取到独立的text类型字段(如party_text),查询会更高效:

SELECT *
FROM your_table
WHERE to_tsvector('english', party_text) @@ to_tsquery('english', $text);

注意事项

  • 文本搜索配置'english'可根据实际语言调整,例如中文可使用'pg_catalog.simple'或自定义中文全文配置
  • 若需严格匹配<party>直接子节点的文本,可将XPath表达式改为//party/text()

内容的提问来源于stack exchange,提问作者Suprita S B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:30:49