java - Solr 查询具有 Frange 和复杂的自定义函数性能问题

标签 java solr solrj

我们正在创建一个 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,这将查询所需的时间从 200 毫秒更改为 400 毫秒。 结果查询现在看起来像这样:

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

关于java - Solr 查询具有 Frange 和复杂的自定义函数性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10029867/

相关文章:

java - 是否可以在微服务应用程序中代理 POJO?

java - 如何使用 Solrj 将 JSON 文档插入到 Solr

java - Apache solr 配置与 tomcat 6.0

java - Apache Lucene 从文档中返回 facet 字段

java - 使用 solrj 和 java 以编程方式将数据加载到 solr

java - 如何在 Solr 中将 ResponseWriter 设置为非默认

java - ssl_client : raw. githubusercontent.com:证书验证失败:自签名证书

java - 使用 HashMap 和反射来调用具有可变参数类型的方法

java - ServerEndpointConfig.Configurator 实例应该是线程安全的吗?

Solr查询提升和查询提升之间的区别