2012-04-05 74 views
1

我们正在做一个solr查询,我们正在给出一个自定义函数(这非常复杂),并按该函数的值排序结果。查询所用的时间在200到400毫秒的范围内。在此之后,我们增加具有复杂自定义函数性能问题的Frange的Solr查询

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采取查询的时候已经去了十次之后,所以需要大约4secs

回答

2

我们只是将frange从fq移到q,并且改变了查询在200到400ms之间花费的时间。 生成的查询现在看起来像这样:

customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&q={!frange l=40 u=100}$customFunc...