现在,我已经有了一项紧急任务来改善" 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查询。
任何建议或方法都表示赞赏。提前谢谢。
答案 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。
缺点是你得不到得分的结果。