首页 > 解决方案 > 部分字符串匹配的 BaseX 索引或查询优化

问题描述

我目前遇到的问题是我的 BaseX 查询花费的时间比搜索数据集的时间要长得多。问题是我正在搜索固定长度文本字段的子字符串。例如,如果我搜索确切的字符串,它会在 6 毫秒内返回,而搜索 15 个字符串的最后 8 个字符需要 5 秒。我试过用 3 种不同的方式编写搜索,每次都需要 5 秒。我担心的是它需要最后一个字符的索引,而且它似乎只允许索引整个字符串。无论如何,这里有一些示例信息:

xml: <xmlfile><sometag>FIXED39LENGTH</sometag></xmlfile>

询问: <result>{ for $c in db:open('Test') where $c/xmlfile/sometag[text() contains text ".{6,6}9LENGTH" using wildcards] return <result sometag="{$c/xmlfile/sometag}"/> }</result>

至于“全文”索引,它只会被指定为“sometag”。

标签: optimizationindexingxquerybasex

解决方案


推荐阅读