有没有办法将结果集限制为最好的N结果?如果我使用Zend_Search_lucene::setResultSetLimit(10)
,根据我的排序声明,我只会得到10个结果,而不是10个最好的结果。Zend_Search_Lucene限制结果集
0
A
回答
0
你的目的,你不能使用
Zend_Search_lucene::setResultSetLimit(N)
,因为它给你只是第N个元素。
限制结果集
搜索中最耗费计算 部分得分 计算。对于大型结果集(几十个 匹配),可能需要几秒钟的时间才能完成 秒。
在Zend_Search_Lucene给出 可能性限制结果集的大小与 getResultSetLimit()和 setResultSetLimit()的方法:
$currentResultSetLimit = Zend_Search_Lucene::getResultSetLimit();
Zend_Search_Lucene::setResultSetLimit($newLimit);
的默认值为0表示 '没有 限制'。
它没有给出'最佳N'结果,但是只有'最初的N'结果 。
如何搜索仅10个结果并将它们定义为最佳结果?您必须搜索整个索引以确定最佳结果。
默认情况下,搜索结果按分数排序。看看文档http://framework.zend.com/manual/1.11/en/zend.search.lucene.searching.html
顺便说一句,无论你在使用zend lucene做什么,请考虑使用其他搜索引擎,如Solr。我在很多项目中使用它,我建议使用它。管理速度更快,更好。要在zend框架项目中使用它,你必须使用solr php client。
相关问题
- 1. Zend_Search_Lucene - 如何将结果限制为某种语言?
- 2. 限制结果
- 3. Query/GqlQuery .order()限制结果集?
- 4. 数据库限制结果集
- 5. MapReduce的结果集跳过并限制
- 6. 使用@Query偏移限制结果集
- 7. 如何根据结果集中的值限制mysql结果?
- 8. 限制json结果
- 9. 限制SQL结果
- 10. SQLDev限制结果
- 11. SQL - 限制结果
- 12. 限制foreach结果
- 13. MYSQL限制结果
- 14. Mysql限制结果?
- 15. 限制Twilio结果
- 16. 限制JSON结果
- 17. jQuery限制结果
- 18. 限制结果,而不是组结果
- 19. nHibernate:限制映射集合的结果集
- 20. 限制结果在WordPress
- 21. SQL查询 - 限制结果
- 22. 限制返回结果
- 23. Solr结果的限制?
- 24. Perl dbi:fetchrow_array限制结果:
- 25. php如何限制结果
- 26. PHP fetch_row限制结果
- 27. Elasticsearch结果限制问题
- 28. 没有限制的结果
- 29. 限制在DataGrid的结果
- 30. massive-js限制结果列
是的,你必须搜索整个索引,但没有理由一旦你整理索引就返回整个索引。例如,在标准SQL中,查询'SELECT * FROM表ORDERBY字段ASC LIMIT 10'命令整个索引,但它只返回排序索引中的前10条记录。 – 2011-04-05 17:34:54