0
因此,假设我想通过合并两个不同的morelikethis处理程序配置的输出来实现自定义morelikethis(或autosuggest)体验。 伪代码可能看起来像如何在内部使用solr处理程序?
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组件...... – yura