我有一个由数十亿个小文档(约 200 个字符/文档)组成的大型数据集。执行位置查询并仅获取最佳三个文档的最有效方法是什么?
我的想法不是创建位置索引并在整个数据集上执行这样的查询,而是使用简单布尔查询的结果动态构建位置索引,然后执行位置查询以获得我认为的最佳三个文档需要。
所以,而不是:十亿个文档 -> 建立一个位置索引 -> 执行位置查询 -> 获得最好的三个文档
我想做以下事情:十亿文档 -> 构建普通索引 -> 执行布尔查询 -> 获得最佳 250(高数) -> 使用结果构建 in-ram 位置索引 -> 执行位置查询 - > 获得最好的三个文档。
我认为这样做我会通过支付一个小的近似值来减少搜索时间。有没有其他/更好的解决方案来做到这一点?