2

私はサイトのアイデアに取り組んできました。一般的な概念はドキュメントの全文検索であり、これらの評価に基づいてユーザーの評価を可能にし、Lucene インデックスでアイテムの価値を高めたいと考えていました。しかし、JackRabbit を拡張する必要があるのか​​、それとも単に Lucene ベースからビルドする必要があるのか​​を見つけようとしています。この方法で JackRabbit を拡張してインデックスに影響を与える良い方法はありますか、それとも Lucene から直接作業するのが最善でしょうか?

いずれにせよ、検索可能なプラグインを使用して grails で groovy を使用するか、JackRabbit を直接操作することに強く傾いています。Java に固執する必要がある主な理由はありますか?

説明:

アイテムの平均ユーザー評価に基づいてアイテムをブーストしたいのですが、JackRabbit は十分にオープンであるか、ユーザー評価を取得できるほど十分に拡張可能であり、JackRabbit 内のインデックスに影響を与えていますか、それとも JackRabbit I のコアからかけ離れていますか? Luceneからビルドするだけですか?

4

4 に答える 4

1

いくつかの理由から、Lucene の上で JCR/Jackrabbit を使用することをお勧めします。

1) リポジトリ構造は、所有者、評価、フラグ付け、コメントなどを含むすべてのメタデータを格納する子ノードを持つドキュメント ノードを容易にサポートできます。

2) JCR は、ドキュメント/ノード ベースのアプリ開発に最適であり、アプリ レベルで邪魔になることなく、フレームワーク レベルで多くの面倒な作業を提供します。

于 2010-01-26T17:07:05.803 に答える
1

私がJavaに固執するべき主な理由はありますか?

あまり。おそらく既にご存じのとおり、Groovy/Grails では任意の Java ライブラリを使用できるため、Groovy で実行できないことで Java で実行できることはありません。その逆もまた真実ですが、私の経験では、Java で何かを成し遂げるには、より多くの (ボイラープレート) コードが必要です。

Java は Groovy よりもかなり高速ですが、コードの実行ではなくデータベースがボトルネックになる可能性があるため、Java で作成した場合にアプリが高速になるとは限りません。

Lucene/Searchable と JackRabbit のどちらを使用する必要があるかについては、何が達成できるかをよく知らずに判断するのは非常に困難です。ここまで説明してきたことは、ドキュメントをインデックス化し、インデックス内の特定のアイテムをブーストしたいということだけです。Lucene を使用すると、これらの両方を確実に実行できます。

于 2010-01-26T15:59:36.833 に答える
1

Jackrabbit/Lucene が組み込まれているApache Slingを使用することをお勧めします。ほとんどのコミッターは Jackrabbit にも関与しているため、Jackrabbit とうまく連携するように設計されています。さらに良いことに、Jackrabbit 上で実行するように設計されています。

Sling の優れた機能の 1 つは、JCR リポジトリ全体を URL スペースにマウントし、REST エンドポイントを介して公開することです。そのため、単純な HTTP リクエストを実行することで、ドキュメント/メタデータに非常に簡単にアクセスできます。また、独自のサーブレットを作成し、REST エンドポイントとして公開することもできます。(これは非常に簡単です。applicationContext.xml ファイルをいじることはなく、1 つの注釈のみです)

また、jsp、esp、groovy などを書くこともできます。

于 2010-02-13T12:18:06.977 に答える