如何提高Solr“OR”查询性能

时间:2013-07-03 03:20:36

标签: performance solr lucene

现在,我已经有了一项紧急任务来改善" OR"使用solr查询性能。 我在两个服务器(每个服务器:16个核心,32G RAM)中部署了9个带有solr-cloud的分片。

总文件数:60,000,000,总指数大小:9G。

根据要求,我必须使用" OR"查询以获得结果。

查询字词的平均数量约为15.

" OR"的响应时间查询大约需要1-2秒(" AND"查询大约是30ms-40ms)。

我们的目标:提升50%,即每次查询最多500毫秒-1。

该文档将飙升至80,000,000,但性能应保持在500ms-1s查询。

任何建议或方法都表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用lucene-c-boost。在C ++(通过JNI)中优化的某些Apache Lucene查询的实现,适用于0到7.8倍的加速。 看到 https://github.com/mikemccand/lucene-c-boost

答案 1 :(得分:0)

根据您是否可以在没有评分的情况下生活,您可能只想运行多个查询。 30-40ms * 15 => 450-600ms。

缺点是你得不到得分的结果。