【发布时间】:2019-08-16 13:34:49
【问题描述】:
我在 Solr 中使用“edismax”和“function-query”解析器,很难理解“function-query”所花费的查询时间是否有意义。我正在尝试优化的查询如下所示:
q={!func sum($q1,$q2,$q3)} 其中 q1,q2,q3 是 edismax 查询。
edismax 查询返回的 QTime 远低于 50 毫秒,但似乎函数查询是速率确定步骤,因为上面的组合查询大约需要 200-300 毫秒。我还分析了仅使用常量的函数查询的性能。
不同q的QTime结果如下:
097ms for q={!func} sum(10,20)
109ms for q={!func} sum(10,20,30)
127ms for q={!func} sum(10,20,30,40)
145ms for q={!func} sum(10,20,30,40,50)
这种趋势有意义吗?预计函数查询会这么慢吗?
是什么让 edismax 查询速度如此之快?
如何优化我的原始查询(具有 edismax 子查询 q1、q2、q3)以在 100 毫秒以下工作?
【问题讨论】:
标签: search solr lucene information-retrieval edismax