gpt4 book ai didi

java - 使用 Lucene 对小文档进行高效的位置查询

转载 作者:行者123 更新时间:2023-12-01 14:03:54 25 4
gpt4 key购买 nike

我有一个由数十亿个小文档(~200 个字符/文档)组成的大型数据集。执行位置查询并仅获取最好的三个文档的最有效方法是什么?

我的想法不是创建位置索引并对整个数据集执行这样的查询,而是使用简单 boolean 查询的结果动态构建位置索引,然后执行位置查询以获得最好的三个我需要的文档。

所以,而不是:十亿个文档 -> 构建位置索引 -> 执行位置查询 -> 获取最好的三个文档

我想做以下事情:十亿个文档 -> 构建一个普通索引 -> 执行 boolean 查询 -> 获得最佳的 250(高数字) -> 使用结果构建内存中位置索引 -> 执行位置查询 -> 获得最好的三个文档。

我认为这样做可以通过支付一个小的近似值来减少搜索时间。有没有其他/更好的解决方案来做到这一点?

最佳答案

我会尝试使用搜索过滤器。也许是TermsFilter可能就足够了,但可以肯定的是, QueryWrapperFilter 。这些可以用 CachingWrapperFilter 包裹。 ,如果缓存过滤器的结果有利于的话。

当传递到您的IndexSearcher.search时调用,这会将查询限制为搜索过滤器接受的那些文档。

由于您已包含 标签,过滤查询也可以在 solr 中使用,使用 fq parameter .

关于java - 使用 Lucene 对小文档进行高效的位置查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092794/

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