我想每天在特定时间(例如午夜)优化 Solr 服务器。有没有办法在 Solr 中安排优化作业?.. Solr 中是否有类似 Quartz 的调度 API?
提前致谢。
Solr 中没有内置任何东西。但是您可以通过发出以下 Curl 语句对索引运行优化:
curl 'http://localhost:8983/solr/update?optimize=true&maxSegments=10&waitFlush=false'
请务必根据您的环境的需要更改 URL 和参数。您可以在 Solr Wiki - UpdateXMLMessage - 提交和优化页面上查看有关选项的更多详细信息。
然后你可以安排这个curl命令以各种方式被调用;例如 cron 作业或通过 Quartz。
您可以很容易地在我的DIH 调度程序中修改 URL ,它应该包含在 Solr 4.1中。
它基本上允许 Solr Web 应用程序生成一个单独的线程(当应用程序在服务器上启动时),以指定的时间间隔定期触发 GET 请求。
您可以在此处找到 Google 代码的源代码。