文件名称:level-scout:使用查询计划进行范围搜索
文件大小:23KB
文件格式:ZIP
更新时间:2024-06-22 20:32:07
nodejs level proof-of-concept unmaintained-dont-use JavaScript
水平侦察 ltgt 语法 + 按字节编码的索引 + 流过滤器 + 查询规划器 = 非常棒的搜索功能。 搜索将在最佳索引上使用范围查询,如果可能,甚至可以交叉索引,或者进行完整扫描。 例如,假设您在实体的x和y属性上有一个复合索引,从而产生[x, y, entity key]形式的索引键。 如果您搜索x: 20, y: { gte: 5 } ,scout 会将这些谓词组合到一个键范围内,例如gte: [20, 5], lte: [20, undefined] 。 但是,如果您搜索x: { gte: 5 }, y: 20 ,scout 会为x生成一个范围流并按y过滤该流。 基本上,scout 可以按照索引属性的顺序将零个或多个相等谓词与零个或一个非相等谓词组合在一起(因此复合“x, y”索引与“y, x”索引不同)。 如果实现诸如“跳过扫描”之类的功能,将来可能还会更多。 注意:API 和
【文件预览】:
level-scout-master
----.travis.yml(49B)
----index.js(2KB)
----package.json(1KB)
----readme.md(3KB)
----test()
--------gc.js(4KB)
--------indexing.js(2KB)
--------query-filter.js(2KB)
--------search.js(12KB)
--------select.js(1KB)
--------util()
----filter.js(55B)
----appveyor.yml(318B)
----search.js(668B)
----select.js(535B)
----.gitignore(20B)
----lib()
--------index.js(5KB)
--------streams()
--------value-mapper()
--------util()