0

OpenGrok の DB を php スクリプトから読み取って奇妙な検索を行う簡単な方法が必要です (OpenGrok 自体の Java でそれを行うことは私の能力ではありません)。そこで、別の言語 (おそらく PHP または C) から直接 Lucene DB にクエリを実行する方法として、Solr を使用することにしました。

問題は、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)

(などなど、バックトレースは約3画面の長さです)

運が悪かったので、データ内のどこかにそれを向けようとしました。構造は次のようになります。

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

Solrが使用しているものは何でも、インデックスディレクトリに直接セグメントファイルを期待しているようです。

バージョンの不一致がないか確認しましたが、OpenGrok 0.11 は Lucene 3.0.2 を使用しており、Solr をデータベースのバージョンとして LUCENE_30 に設定しました。

どんなポインタでも大歓迎です.Googleはこれを手伝うことができなかったようです.

4

1 に答える 1

1

opengroks の Web インターフェイスは、整形式の検索クエリを (URL を介して) 使用し、簡単に解析できる xhtml の結果を返すことができるため、提供された UI を使用するのではなく、lucene 内でハッキングするには複雑すぎる可能性があります ...

于 2012-07-18T08:26:01.947 に答える