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