4
|
Frank Schwieterman · 技术社区 · 14 年前 |
![]() |
1
4
默认情况下,布尔查询中的最大子句数为1024。你可以增加这个限制。不过,这将是一个性能惩罚。我想,如果你用过滤器来代替的话,效率会很高。 |
![]() |
2
2
正如一些人已经回答的那样,存在实际的局限性。然而,如果你对这个理论感兴趣的话,那么做一堆OR'd术语和一个有很多可能结果的术语之间其实没有什么区别。如果p是与您的查询匹配的过帐(术语/文档对)的数量,并且您希望找到k个最佳匹配项,则查询将在O(p log k)中运行。看道格的报纸 Space Optimizations for Total Ranking . 如果在索引总数中有q个查询项或'd和t个查询项,它实际上类似于O(q logt+p logk),但对于大多数应用程序,p logk将占主导地位。(这个公式来源于这样一个事实:查找发布流需要logt时间,而且每个查询项必须执行一次。) |
![]() |
3
1
正如@Shashikant Kore提到的,默认情况下限制是1024。 如果您有一个非常大的文本集合,您可能需要查看 MoreLikeThis 实现-它使用一些简洁的启发式方法从您拥有的内容生成一个代表性的查询。 |
![]() |
4
1
FilteredQuery 在搜索期间。它的构造函数接受一个查询和一个过滤器。根据用户输入的内容创建查询(查看 QueryParser ). 从产品ID列表中创建过滤器(请看 TermsFilter |
![]() |
5
0
查询中布尔语句的数量有限制。 |
![]() |
vishnu · 内存索引和lucene文件索引有什么区别? 7 年前 |
![]() |
Fabio B. · 如何在Solr中排序/增强产品搜索结果 7 年前 |
![]() |
Alex Torrisi · 文档中短语查询匹配数 7 年前 |
|
NoName2 · 平均结果的弹性Luence查询 7 年前 |
![]() |
hayfreed · Lucene API查询始终返回第一个字典结果 7 年前 |