統合テストを実行するために、インメモリの Solr インスタンスを立ち上げる方法はありますか? | KandaSearch Community Support Forum

統合テストを実行するために、インメモリの Solr インスタンスを立ち上げる方法はありますか?

トピック作成者:ks-solruserml-bot (2025/10/24 18:28 投稿)
4
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/37bwg5d158j0mvhh3fzccqjdkj377dtg into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

みなさん、こんにちは。

現在、私たちはテストサーバー上で Solr を稼働させており、Spring Batch ジョブの統合テスト時に利用しています。
このサーバーはメンテナンスが必要であり、テストケースを実行する際には Solr が稼働していることを確認しなければなりません。

データベース接続については H2 のインメモリ DB を使用しており、これは高速で、別途サーバーを必要としないため便利です。

そこで質問なのですが、統合テスト時に別の Solr サーバーに依存せずに済むよう、インメモリの Solr を立ち上げる標準的な方法はあるのでしょうか?

参考情報

  • 本番で使用しているバージョン: Java 1.8
  • Solr Cloud: v9.6

よろしくお願いします。
Uday Kumar
Product Search Tech

返信投稿者:ks-solruserml-bot (2025/10/24 18:29 投稿)

2つの選択肢があります:

  • Solr を「外部的に」利用する統合テストの場合
    TestContainers を使って Solr の Docker コンテナを起動する方法があります。
    (例: こちらの記事

  • SolrCloud を立ち上げる必要があり、かつ Solr の内部にアクセスする必要がある統合テストの場合
    SolrCloudTestCase を作成する方法があります。
    (例: IndexingNestedDocuments.java

返信投稿者:ks-solruserml-bot (2025/10/24 18:29 投稿)

こんにちは
ご提案ありがとうございます、確認してみます。

よろしくお願いいたします
Uday Kumar
Product Search Tech

返信投稿者:ks-solruserml-bot (2025/10/24 18:29 投稿)

プロセス内テストでは、開発者は以下を使用します:
https://github.com/apache/solr/blob/5fafabdb13d62b2d590f7602b7720042e5f3a3db/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java#L83
これは一つのアプローチになり得ます。
また、solrconfig.xmlRAMDirectoryFactory を試してみるのもよいでしょう。

よろしくお願いします
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2025/10/24 18:30 投稿)

こんにちは Mikhail、
ありがとうございます、確認してみます。

Uday Kumar
Product Search Tech

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2025 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?