0

我们将 solr 4.3 用于搜索功能。我们已经配置了 2 个分片和 2 个副本。

我们在索引中总共有 132905 个 Solr 文档。

我们的搜索查询很长,大约需要 3 秒(来自 Solr 管理控制台)来完成以下查询。

ID:(FOLD5002861 FOLD5002890 FOLD5219963 FOLD4105003 FOLD4105005 FOLD4105006 FOLD4105007 FOLD4105008 FOLD4105009 FOLD4105010 FOLD4105011 FOLD4105012 FOLD4105013 FOLD4105014 FOLD4105018 FOLD4105019 FOLD4105020 FOLD4105021 FOLD4105022 FOLD4105023 FOLD4105024 FOLD4105025 FOLD4105026 FOLD4105027 FOLD5220166 FOLD5220168 FOLD5220169 FOLD5220170 FOLD5220171 FOLD5220172 FOLD5220173 FOLD5220174 FOLD5220175 FOLD5220176 FOLD5220177 FOLD5220178 FOLD5220179 FOLD5220180 FOLD5220181 FOLD4100876 FOLD4100877 FOLD4100878 FOLD4100879 FOLD4100880 FOLD4100881 FOLD4655426 FOLD4655428 FOLD4655429 FOLD4655430 FOLD4655431 FOLD4655432 FOLD4655433 FOLD4655434 FOLD4655435 FOLD4655436 FOLD4655437 FOLD4655438 FOLD4655439 FOLD4655483 FOLD4655487 FOLD4655523 FOLD4655874 FOLD4655884 FOLD4655856 FOLD4655858 FOLD4655859 FOLD4655860 FOLD4655861 FOLD4655862 FOLD4655863 FOLD4655864FOLD4655865 FOLD4655866 FOLD4655867 FOLD4655868 FOLD4655869 FOLD4655870 FOLD4655871 FOLD4655872 FOLD4655882 FOLD4655892 FOLD4649510 FOLD4649512 FOLD4649513 FOLD4649510次FOLD4649510次FOLD4649510次

我们想追踪需要时间的地方。我们在 solr 管理控制台中尝试了 debugQuery 选项,但没有获得有用的信息。

有什么办法可以改善查询吗?我们如何跟踪细节时间?

4

2 回答 2

0

如果您将此查询转换为过滤器查询,它将在大多数情况下提供更好的性能,因为它将在查询(即索引的子集并且可以缓存)而不是整个索引上应用过滤器。

最好的情况是,如果您有另一条可以使用它运行的查询,然后将其作为过滤器应用在它之上,但如果您没有它也运行查询,它field:[* TO *]仍然应该提供更好的性能。

看看这个解释过滤查询和普通查询之间区别的问题:

SOLR 过滤器查询与主查询

于 2013-08-12T07:12:24.670 回答
0

看看影响 Solr 性能的一些因素

尝试使用以下方法优化您的索引:

curl http://<solr_host>:<port>/solr/<core_name>/update -F stream.body=' <optimize />'
于 2014-01-19T11:32:44.710 回答