我想在SOLR中实现某种后备查询机制。也就是说,如果第一次搜索调用没有产生足够的结果,我想用不同的排名进行另一次调用,然后合并结果并返回它。我想这可以在SOLR客户端完成,但我希望在SOLR中做到这一点。通过阅读文档,我想我需要实现一个搜索组件,然后将它添加到“查询”组件旁边?任何有关这方面的参考或经验都将受到高度赞赏。
答案 0 :(得分:0)
SearchHandler按您定义的顺序调用所有已注册的搜索组件,并且有几个阶段(准备,处理等)。 您只知道分布式处理阶段之后的结果数(我假设您使用的是分布式模式),因此您的自定义搜索组件应检查响应对象中的结果数,并在必要时运行自己的查询。 实际上,您可以为此继承(或换行)常规QueryComponent,从而扩充其流程/分布式流程阶段。