0

现在,我有一个紧迫的任务来提高 solr 的“OR”查询性能。我在两台服务器上部署了 9 个带有 solr-cloud 的分片(每台服务器:16 核,32G RAM)。

总文档数:60,000,000,总索引大小:9G。

根据要求,我必须使用“OR”查询来获取结果。

查询词的平均数量约为 15 个。

“OR”查询的响应时间约为 1-2 秒(“AND”查询约为 30ms-40ms)。

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

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

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

4

2 回答 2

0

您可以尝试使用 lucene-c-boost。在 C++ 中(通过 JNI)对某些 Apache Lucene 查询进行优化实现,速度从 0 到 7.8 倍不等。请参阅 https://github.com/mikemccand/lucene-c-boost

于 2013-09-28T10:11:02.927 回答
0

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

缺点是你没有得到分数。

于 2014-03-01T18:59:22.603 回答