2011-03-03 36 views
0

我有100,000条记录。我需要使用elevate.xml提升前10000个记录。我怎样才能做到这一点?如何在Solr中使用elevate.xml提升最高10,000条记录?

+0

您确定需要提升* 10000 *文件吗?看起来很多,也许还有其他更好的方法来实现你想要做的事情。 – 2011-03-03 13:40:13

+0

是的。还有其他方法可以执行此任务,如提升。我认为这可以通过自定义QueryElevateComponent来实现。检查这个https://issues.apache.org/jira/browse/SOLR-1147并分享你的想法。 – Marshal 2011-03-04 10:19:30

回答

4

如解释here所示,QueryElevationComponent用于配置特定查询的顶级结果。我可能是错的,但我想你会想要给你的10,000条记录提供更高的权重,而不管查询如何。您可以使用索引时间提升,如here所述。或者,您可以向这些特殊记录中添加一个带有某些特殊值的字段(如boost:true),并使用如here所述的提升查询(bq)。

+0

感谢您的回复。我正在考虑自定义查询高程组件文件。请检查此链接https://issues.apache.org/jira/browse/SOLR-1147。你有什么想法吗? – Marshal 2011-03-04 10:11:43

+0

对不起,但我没有看到SOLR-1147和你的问题之间的关系。 SOLR-1147可用于更改elevate.xml,但我们正试图弄清楚如何对10000条记录使用elevate.xml。也许你可以提供更多的细节,包括一个示例用例,以便我可以尝试提供特定的解决方案。 – nikhil500 2011-03-04 12:53:51

+0

我在集合'公司'下有10000条记录。公司A有3000条记录,B 4000条记录,C 3000条记录。B的4000条记录应先到达,然后是C,最后是A.On使用elevate.xml,我应该以B,C,A的顺序输入10000条记录的唯一标识符。而为什么不执行像“select /?q = B”这样的查询将返回全部4000条记录,然后q = C和q = A代替uniquefield,按顺序执行查询。 你认为这是可能的吗? – Marshal 2011-03-07 05:46:40

-1

这是可能的后,自定义QueryElevationComponent java文件。它现在工作!

+0

您是否可以将您的自定义作为答案的一部分进行分享? – 2016-09-27 19:26:15

相关问题