【问题标题】:How to read Lucene indexes from Solr如何从 Solr 读取 Lucene 索引
【发布时间】:2014-08-27 12:45:23
【问题描述】:

我有一个现有的 Web 应用程序,它使用 lucene 创建索引。现在根据要求,我必须设置 Solr,它将作为包括我的 Web 应用程序在内的许多其他 Web 应用程序的搜索引擎。我不想在 Solr 中创建索引。因此,我需要告诉 Solr 从 lucene 读取索引,而不是在 Solr 中创建索引并从它自己的读取。

作为 Solr 的初学者,我首先使用 nutch 创建索引,然后在 Solr 中使用这些索引。但我不知道如何让 Solr 理解从 lucene 读取索引。我没有找到任何有关此的文档。请建议如何实现这一目标。

【问题讨论】:

    标签: java solr lucene


    【解决方案1】:

    不可能以任何可靠的方式。

    这就像说您在 Ruby 中构建了一个应用程序,现在想要在现有数据库结构之上使用 Rails。 Solr(作为 Rails)围绕 Lucene 核心有自己的期望命名和工作流程,并且没有迁移路径。

    您可以尝试使用Luke自己确认Lucene和Solr之间的内部数据结构差异。

    【讨论】:

    • 感谢您的支持,我希望它是可行的,因为 Solr 内置了 Lucene,因此 Solr 可以集成到外部 Lucene 系统中。
    • 我发现了这个帖子:stackoverflow.com/questions/2715973/… 上面说它是可行的
    • 它说他们设法让 Solr 用这些信息启动它。请注意,所有类型都是字符串等。我不清楚你为什么需要 Solr。它也是 Solr 1.4。从那时起,已经取得了相当大的进展(可能还有分歧)。如果您想将其作为技术黑客来做,我会鼓励这样做。但出于真正的商业原因,我强烈建议您回去探索其他选择。甚至可能只是从 Lucene 索引到 Solr,但使用 Solr 的界面。
    【解决方案2】:

    我以前从未这样做过,但由于 Solr 是基于 Lucene 构建的,因此您可以尝试这些步骤。 dataDir是这里的重点

    我假设您将其部署在 /usr/local 中,因此进行相应更改,并具备 solr 配置的基础知识。

    Download Solr and copy dist/apache-solr-x.x.x.war to tomcat/webapps
    Copied example/solr/conf to /usr/local/solr/
    Set solr.home to /usr/local/solr
    In solrconfig.xml, change dataDir to /usr/local/solr/data (Solr looks for the index directory inside)
    change schema.xml accordingly ie. you need to change fields, 
    

    【讨论】:

    • 我在 solrconfig.xml 中的 dataDir 中给出了 lucene 索引位置的直接路径,但它没有返回任何内容。我认为我不需要更新 schema.xml 文件中的字段详细信息,因为我正在使用开箱即用的配置来搜索文本。
    • 您需要更改 schema.xml,因为您需要将其与您的 lucene 文档结构相匹配。
    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 2023-03-20
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多