4

SOLRでコレクションを検索するWebで、分散検索などに関する情報しか見つかりませんでしたが、正しいコレクションの概念を理解すると、同じスキーマを使用して同じサーバーインスタンスで実行されていますが、論理的に完全に分離されています。これは正しいです?だから私は3つのコレクションを持つことができ、1つのコレクションを検索しても別の権利の結果は出力されませんか?一度に複数のコレクションを検索することは可能でしょうか?

しかし、私の主な優先事項:2番目のコレクションを作成するにはどうすればよいですか?良いドキュメントへのリンクでさえいただければ幸いです。私のsolr.xmlには

  <cores adminPath="/admin/cores" defaultCoreName="web-collection" host="${host:}" hostPort="${jetty.port:}">
    <core name="web-collection" instanceDir="." />
  </cores>

2番目のコアエントリを作成し、異なるパスを設定するだけで十分でしょうか?お気に入り...

  <cores adminPath="/admin/cores" defaultCoreName="web-collection" host="${host:}" hostPort="${jetty.port:}">
    <core name="web-collection" instanceDir="web" />
    <core name="test-collection" instanceDir="test" />
  </cores>

instanceDirとは何ですか?それはSOLR-Homeに関連するインデックスディレクトリですか?

4

4 に答える 4

7

複数のコアを使用できます。各コアは個別のluceneインデックスです。
instanceDirは、その特定のコアの構成ファイルの場所であり、confディレクトリschema.xmlを含むフォルダですsolrconfig.xml。通常、コアごとにサブフォルダーがsolr.xmlあり(SOLR_HOME)、相対パスを使用してsolr.xmlそれ自体の中でそれらを参照します。

于 2012-10-25T14:11:58.517 に答える
2

コアのセットアップとその動作の詳細については、SolrWiki-CoreAdminで詳細といくつかの例を参照してください。

2番目のコアエントリを追加するための例で十分です。

インスタンスディレクトリは、SOLRホーム値に関連するインデックスディレクトリです。

于 2012-10-25T16:49:22.787 に答える
2

REST APIに加えて、SolrJを使用して新しいコアを作成できます。自分で作成するのに苦労した後、私がやったことは次のとおりです。

SolrServer aServer =  new HttpSolrServer("http://127.0.0.1:8983/solr");
CoreAdminResponse aResponse = CoreAdminRequest.getStatus(collectionName, aServer);

if (aResponse.getCoreStatus(aNewInstance.getCollection()).size() < 1)
{
    CoreAdminRequest.Create aCreateRequest = new CoreAdminRequest.Create();
    aCreateRequest.setCoreName(collectionName);
    aCreateRequest.setInstanceDir(collectionName);
    aCreateRequest.process(aServer);
}
于 2013-07-23T20:29:08.007 に答える
0

Solr6.xでテスト済み

幸い、Solrが実行されているモード(スタンドアロンまたはSolrCloud)を検出し、適切なアクション(コアの作成またはコレクションの作成)を実行できるcreateスクリプトの標準オプションがあります。bin/solr

$ bin/solr create -help

Usage: solr create [-c name] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port]

たとえば、ポートで最新バージョンのSolrを実行していると仮定して、次のコマンドを実行する8983だけで新しいコアを作成します。

bin/solr create -c collection1 -d /path/to/solr/conf

コレクションとコアの間で時々発生する混乱のために、重要な区別を行う必要があります。クライアントの観点からは違いはないため、コアまたはコレクションの作成は、Solrがスタンドアロン(コア)で実行されているか、SolrCloudモード(コレクション)で実行されているかによって異なります。

Solrコレクションとコアのより完全な区別については

于 2017-04-18T16:34:57.037 に答える