我正在运行一个高效的Solr服务器,其中包含超过700.000个数据集。我使用查询模式dismax进行以下设置:
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值的范围和响应时间是相关的。当我剥离qf时,响应时间变得更好。这是预期的行为吗? qf不应该太大吗?有没有办法调整这种情况的性能?
答案 0 :(得分:1)
这听起来像是query reranking的一个很好的用例。
您首先使用更简单的查询(例如,从qf中删除所有标题*内容可能仍然会产生良好的结果),然后使用您现在用于重新排名步骤的完整复杂qf。