optimization - 部分字符串匹配的 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”。
解决方案
推荐阅读
- html - svg内的路径比例
- swiftui - SwiftUI (Playgrounds) - 将值从一个视图传递到另一个视图
- python - 在 Plotly Go 中叠加而不是堆栈栏?
- woocommerce - 为什么订单会获得处理状态(使用优惠券支付产品时)?
- dagger - 如何使用匕首刀柄注入运行时参数
- java - proguard 混淆枚举类的字段值
- java - 将字符串从一个 Activity 传递到 AndroidStudio 上的另一个 Activity
- python - 如何在不使用熊猫数据框的情况下从 CSV 文件中提取列值列表
- jdbc - Kafka JDBC 接收器连接器 - 是否可以将主题数据作为 json 存储在数据库中
- rest - 如何通过 REST API 从商机屏幕创建销售订单