0

我需要一种简单的方法来从 php 脚本中读取 OpenGrok 的数据库来进行一些奇怪的搜索(因为在 OpenGrok 本身的 Java 中这样做不是我的能力)。所以我决定使用 Solr 作为一种直接从另一种语言(可能是 PHP 或 C)查询 Lucene DB 的方法。

问题是当我将 Solr 指向 /var/opengrok/data 时,它会爆炸:

java.lang.RuntimeException:org.apache.lucene.index.IndexNotFoundException:在 org.apache.lucene.store.MMapDirectory@/var/opengrok/data/index lockFactory=org.apache.lucene.store 中找不到段*文件。 NativeFSLockFactory@3a329572:文件:[] at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1103)

(等等,等等,回溯大约三个屏幕长)

我试图将它指向数据内部的某个地方,但没有运气。结构如下所示:

/var/opengrok/data/index/$projname/segment* /var/opengrok/data/spelling...

并且似乎 Solr 正在使用的任何内容都希望将段文件直接放在索引目录中。

我检查了是否存在任何版本差异,但 OpenGrok 0.11 使用的是 Lucene 3.0.2,并且我已将 Solr 设置为 LUCENE_30 作为数据库版本。

任何指针将不胜感激,谷歌似乎无法提供帮助。

4

1 回答 1

1

opengroks Web 界面可以使用任何格式良好的搜索查询(通过 url)并使用易于解析的 xhtml 结果进行回复,因此您可能太复杂而无法在 lucene 内部进行破解,而不是使用提供的 UI ...

于 2012-07-18T08:26:01.947 回答