【问题标题】:How do I set up a new Solr core using data from an existing core?如何使用来自现有核心的数据设置新的 Solr 核心?
【发布时间】:2013-06-22 14:15:07
【问题描述】:

我看到 3 年前有人问过类似的问题,但我认为可以复制为 1)现有 q 已有 3 年历史,2)我有不同的问题和不同版本的 Solr。

故事是这样的。合作者给了我一份现有 Solr 核心的“索引”目录的副本。我正在尝试在本地设置自己的核心并使用该索引。现有核心来自 Solr 4.1.0 安装。 (我尝试设置 Solr 4.3.1 和 Solr 4.1.0,但失败了。)我正在使用 Jetty 运行 Solr。

你问什么问题?好吧,我将默认示例核心中的配置文件(schema.xml 和 solrconfig.xml)替换为我的合作者给我的配置文件。然后我运行 Jetty。这将创建一个新的索引文件夹。我删除了那个 Index 文件夹的内容,并复制了我给定的 Index 文件夹的内容。

结果是 Solr 给了我一个错误,指出找不到“段”文件。所以我注意到有两个文件(segments.gen 和segments_1)是用初始索引文件夹创建的。我尝试将它们留在索引文件夹中,但替换其他所有内容。现在 Solr 似乎正在工作(浏览器界面正在工作)但它报告“Num docs:0”并且 *:* 查询给了我 0 个结果。

有人有什么想法吗?我很乐意提供更多信息。提前致谢。

【问题讨论】:

    标签: database solr lucene jetty


    【解决方案1】:

    您必须使用原始索引中的segments.gensegments_1。请您的合作者也给您这些文件。但是由于您提到合作者给了您索引文件夹的副本,所以您必须已经拥有这些文件。

    请注意,segment_1 可能没有必要出现在您的原始索引副本中。它可以是segment_N。无论segment_ 文件在原始副本中是否存在,将其复制到新索引并重新启动码头。

    segments.gen 在索引中记录当前代(segments_N 中的 _N),以防万一文件的目录列表无法找到segments_N 文件(例如在文件系统上,如 NFS,目录列表可能会出现在该文件系统上)来自陈旧的缓存)

    【讨论】:

    • 好的,这很有意义,并且是我在阅读了段文件后所假设的。我的合作者坚持说他给了我整个索引文件夹,所以我们只需要在同一个页面上。不管怎样,谢谢你证实了我的怀疑。
    • 顺便说一句,只是为了仔细检查:1)有没有办法生成一个新的segments_N文件可以工作? 2) 我的合作者有没有办法在没有segments_N 文件的情况下运行Solr 内核?提前致谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2014-04-11
    • 2012-07-19
    • 1970-01-01
    • 2020-12-03
    相关资源
    最近更新 更多