如何在内部使用solr处理程序?
因此,假设我想通过合并两个不同morelikethis处理程序配置的输出来实现定制morelikethis(或autosuggest)体验。 伪代码可能看起来像如何在内部使用solr处理程序?,solr,search-engine,solrj,Solr,Search Engine,Solrj,因此,假设我想通过合并两个不同morelikethis处理程序配置的输出来实现定制morelikethis(或autosuggest)体验。 伪代码可能看起来像 class MyMoreLikeThis extends SearchHanlder { def process(reqBuilder) { val mlt1 = reBuilder.getComponent("/mlt1"); val mlt2 = reBuilder.getCompone
class MyMoreLikeThis extends SearchHanlder {
def process(reqBuilder) {
val mlt1 = reBuilder.getComponent("/mlt1");
val mlt2 = reBuilder.getComponent("/mlt2");
val rb1 = reqBuilder.copy()
val rb2 = reqBuilder.copy()
reqBuilder.results = mlt1.process(rb1).getResults ++ mlt1.process(rb2).getResults
}
}
或者我可以使用solrj API从内部访问solr
我该怎么做?有更好的方法吗?您可以参考下面的博客文章,其中详细解释了如何从不同的查询中获得合并结果,类似于您所讨论的问题
该博客由我的一位前同事撰写,他在搜索和信息检索方面有多年的专业经验。我喜欢第二个想法,因为它建议使用方便的solr4j API。但它增加了序列化开销,并可能导致http上的递归。第一个想法更多的是关于如何编写CustomComponent,而不是如何组合solr组件。。。