我们正在做一个solr查询,在其中我们提供了一个自定义函数(这非常复杂)并按该函数的值对结果进行排序。查询所花费的时间在200到400毫秒之间。在此之后,我们添加了fq:{!frange l=40 u=100}$complexCustomFunction
所以整个复杂的查询看起来像solr/select?customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&fq={!frange l=40 u=100}$customFunc...
仅添加此frange fq后,查询所花费的时间增加了十倍,因此大约需要4秒
最佳答案
我们只是将frange从fq移到q,这将查询所花费的时间在200ms到400ms之间。
结果查询现在看起来像这样:customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&q={!frange l=40 u=100}$customFunc...