【问题标题】:Check if Solr index is empty by command line通过命令行检查 Solr 索引是否为空
【发布时间】:2018-12-31 23:46:40
【问题描述】:

我们会定期更新客户的 Solr 版本。我们在 Solr 中创建了一个名为 remote_shared_instance 的共享核心。一些客户使用此功能,而其他客户则不使用。不使用核心的客户看到关于remote_shared_instance的错误消息

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: 打开新搜索器时出错

显示错误消息是因为这些客户通常不重建索引,该索引是使用旧版 Solr(3 或更低版本)创建的。当前的 Solr (5.5.5) 无法处理此索引。

我正在使用 Perl,我想创建一个程序来检查 remote_shared_instance 索引是否为空。如果是这样,它将丢弃核心并重新启动Solr,它将自动创建一个新的索引,并且错误消息将消失。

如何确保remote_shared_instance 索引为空?

我从一位收到错误消息的客户那里打印了“索引”文件夹中的文件:

-rw-rw---- 1 sfxglb41 sfx 32 Sep 10  2014 segments_1
-rw-rw---- 1 sfxglb41 sfx 20 Sep 10  2014 segments.gen
-rw-r----- 1 sfxglb41 sfx  0 Jun 13 04:42 write.lock

【问题讨论】:

    标签: database perl indexing solr lucene


    【解决方案1】:

    我猜你想在没有实际阅读索引的情况下执行此操作?

    如果索引只有segments文件(一个segments.gen和一个或多个segments_N)和一个write.lock,它是空的。包含文档的索引将包含其他文件(通常,包含数据的索引通常至少有一个 .cfs 或 .fdx 文件),其中将包含索引数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      相关资源
      最近更新 更多