我们正在做一个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...

09-12 06:37