2016-10-11 70 views
0

很慢,我工作富有成效Solr的服务器,在它超过700.000数据集。我使用的查询方式dismax以下设置:Solr的查询与丰富的QF

mm = 2<-1 5<80% 
tie = 0.1 
qf = title^4 text title_bg^4 text_bg title_hr^4 text_hr title_cs^4 text_cs title_da^4 text_da title_nl^4 text_nl title_et^4 text_et title_fi^4 text_fi title_fr^4 text_fr title_de^4 text_de title_el^4 text_el title_hu^4 text_hu title_ga^4 text_ga title_it^4 text_it title_lv^4 text_lv title_lt^4 text_lt title_mt^4 text_mt title_pl^4 text_pl title_pt^4 text_pt title_ro^4 text_ro title_sk^4 text_sk title_sl^4 text_sl title_es^4 text_es title_sv^4 text_sv name^4 tags^2 groups^2 

的QF值非常扩展,因为一些字段存储在多国语言对于这类查询我想在所有的语言进行搜索。但是查询非常缓慢。大约需要12秒才能得到答复。服务器的硬件绰绰有余。我注意到qf值的范围和响应时间是连接的。当我剥离下来时,响应时间变得更好。这是预期的行为?如果不是太大?有没有办法调整这种情况下的性能?

+0

你真的真的需要用西班牙语和瑞典语和匈牙利同时搜索,或者你有一些想法的时间提前了用户语言是什么吗? –

+0

事实上,我需要用所有语言进行搜索。没有其他办法了。 – linsenfips

回答

1

这听起来像一个良好的用例query reranking

您可以使用一个简单的查询第一(例如移除所有标题*从QF的东西可能仍给了良好的效果),然后使用全复杂QF你现在有重新排名的一步。

+0

谢谢。听起来像一个很好的方法。但我真的很想明白为什么这么慢? CPU和RAM是足够的,根本没有任何挑战。 – linsenfips