我的一些同事有一个大型 Java Web 应用程序,该应用程序使用使用 Lucene Java 构建的搜索系统。我想做的是拥有一个基于 HTTP 的 API 来访问那些现有的搜索索引。我以前使用过 Nutch,并且非常喜欢 OpenSearch 实现如何简单地以 RSS 形式获取结果。
我尝试在 solrconfig.xml 中设置 Solr 的 dataDir,希望它能愉快地拾取现有索引文件,但它似乎只是忽略它们。
我的主要问题是:
Solr 可以用来访问其他地方创建的 Lucene 索引吗?或者可能有更好的解决方案吗?
成功!根据 Pascal 对 schema.xml 更改的建议,我很快就让它工作了。谢谢!
以下是我的完整步骤,供感兴趣的人参考:
- 下载Solr并将dist/apache-solr-1.4.0.war复制到tomcat/webapps
- 将 example/solr/conf 复制到 /usr/local/solr/
- 将预先存在的 Lucene 索引文件复制到 /usr/local/solr/data/index
- 将 solr.home 设置为 /usr/local/solr
- 在solrconfig.xml中,将dataDir更改为/usr/local/solr/data(Solr在里面查找索引目录)
- 将我的 Lucene 索引加载到 Luke 中进行浏览(很棒的工具)
- 在示例 schema.xml 中,删除了除“string”之外的所有字段和字段类型
- 在示例 schema.xml 中,添加了与 Luke 中所示的 14 个字段相对应的 14 个字段定义。例子:
<field name="docId" type="string" indexed="true" stored="true"/>
- 在示例 schema.xml 中,将 uniqueKey 更改为索引中似乎是文档 id 的字段
- 在示例 schema.xml 中,将 defaultSearchField 更改为索引中似乎包含术语的字段
- 启动tomcat,最终没有看到异常,并在localhost:8080/solr/admin中成功运行了一些查询
这对我来说只是证明它可以工作。显然还有很多配置需要完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)