gpt4 book ai didi

regex - 使用正则表达式和通配符查询任意数据

转载 作者:可可西里 更新时间:2023-11-01 10:44:02 26 4
gpt4 key购买 nike

给定这个数据结构

{
_id: ...,
data: [
{key: 'articles.0.photos.0.category', value: '...'},
{key: 'articles.0.photos.1.category', value: '...'},
...
]
}

...我想通过键和值查询,例如

key == 'articles.0.photos.0.category' && value == 'something'

而键和值是完全任意的,因此键值模式能够在两者上创建索引。键中的数字表示数组中的索引。

如果查询只查找逻辑含义,而不是数组中的位置,我需要通过正则表达式进行搜索,例如

^articles\.\d+\.photos\.\d+\.caption

这是灾难性性能的公式,还是可以在更大的数据集中使用?是否有更好的方案来索引和查询任意数据?

最佳答案

直接在数据库上运行一些测试后,我得出结论,使用上述正则表达式非常适合我的场景。在具有 100 个键值对象嵌套数组的 200k 文档样本集上,全索引扫描平均从字符串匹配的 0.001 毫秒上升到正则表达式匹配的 0.004 毫秒。这已经足够了。不使用索引时,查询时间在 5 秒到 20 秒之间。

关于regex - 使用正则表达式和通配符查询任意数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com