3

現在、MongoDB を使用して Grails アプリケーションに Lucene ベースの検索を実装する方法を調査しています。

要件には次のものが含まれます。

  • インデックスを作成するデータは MongoDB に保存されます
  • データは挿入されるだけです (更新なし、削除なし)
  • アプリケーションはCloudBeesプラットフォームで実行する必要があります
  • 検索は、Searchly や WebSolr などの外部サービスなしで実装する必要があります

これまでのところ、Grails プラグインがあるため、これはそれほど複雑ではないようです。ただし、私が直面している主な問題は、アプリケーションが動的なMongoDB コレクションを使用していることです。したがって、すべてのコレクションにドメイン クラスはありません。代わりに、インデックスを作成する必要があるコレクションは、任意の名前とスキーマを持つことができます。その結果、検索可能のような Grails プラグインを使用できません。これらは固定ドメイン クラスでしか機能しないように思われるためです (または、それについて間違っているのでしょうか?)。

そのようなコンテキストで検索を実装する方法について経験のある人はいますか? ヒント、リンク、ヒント、または推奨事項はありますか?

4

1 に答える 1

0

動的 MongoDB コレクションには、1 つのインデックスと複数のタイプを使用できます。ただし、統合モジュールはドメイン モデルのインデックス作成のマインドセット内で行われるため、そのロジックは自分でコーディングする必要があります。

ElasticSearch の場合、ElasticSearch の groovy 経由で Jest を使用できますhttps://github.com/searchbox-io/Jest

Searchly は、残念ながら単一のコレクションに対してすぐに使える MongoDB 統合を提供します。したがって、今のところ、MongoDB (動的に作成したコレクション) にクエリを実行し、データにインデックスを付けて新しい型でインデックスを作成し、クエリを実行する必要もあります。

私の古い投稿は、関連する回答ではないため削除されましたが、問題ありません:)

于 2013-10-29T20:34:03.350 に答える