我正在使用SOLR 4.5(独立实例),我正在尝试使用外部字段来提高文档的排名。我有两个外部文件字段用于两个不同的参数,这些参数每天更改,我在edismax解析器的“bf”和“boost”参数中使用。以前,这些字段是SOLR索引的一部分。
我将这些字段从索引移到外部文件时遇到严重的性能问题。 SOLR机器的CPU使用率在峰值负载下达到100%,平均响应时间从13毫秒增加到接近150毫秒。
使用外部文件字段时,我可以做些什么来提高SOLR的性能。在boost / bf函数中使用外部文件字段值时是否需要注意什么?
答案 0 :(得分:0)
如SO Relevancy boosting very slow in Solr中所述,外部文件所包含的key = value对应该按该键排序。这也在the java doc of the ExternalFileField
中说明外部文件可以通过键字段进行排序或取消排序,但如果没有排序,它将显着变慢(未经测试)。
因此,如果您的文件内容看起来像这样(只是一个例子)
300=3.8294805903e-07
5=3.8294805903e-07
20=3.8294805903e-07
您需要一个将内容改为
的脚本5=3.8294805903e-07
20=3.8294805903e-07
300=3.8294805903e-07