簡體   English   中英

在SOLR中創建集合

[英]Creating collections in SOLR

在網上搜索SOLR中的集合時,我發現只有有關分布式搜索的信息等等,但是當我理解correclty集合的概念使用相同的模式在同一服務器實例上運行但在邏輯上完全分離。 這個對嗎? 所以我可以有3個集合,搜索一個集合不會輸出另一個集合的結果嗎? 有沒有可能在一次對多個集合進行搜索?

但我的主要優先事項是:如何創建第二個集合? 即使是與優秀文檔的鏈接也會受到贊賞。 在我的solr.xml中我有

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

是否足以創建第二個核心條目並設置不同的路徑? 喜歡...

  <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的索引目錄嗎?

您可以使用多個核心。 每個核心都是一個單獨的lucene索引。
instanceDir是該特定核心的配置文件的位置,該文​​件夾包含conf目錄,其中包含schema.xmlsolrconfig.xml等。 每個核心通常都有一個子文件夾,其中solr.xml是(SOLR_HOME),並使用相對路徑在solr.xml本身中引用它們。

有關設置內核及其工作方式的更多信息,請參閱Solr Wiki - CoreAdmin以獲取更多詳細信息和一些示例。

您添加第二個核心條目的示例就足夠了。

實例目錄是相對於SOLR主目錄值的索引目錄。

除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);
}

使用Solr 6.x進行測試

幸運的是,現在有一個標准選項create腳本bin/solr ,它能夠檢測Solr在哪種模式下運行(獨立或SolrCloud),然后采取適當的操作(創建核心或創建集合)。

$ bin/solr create -help

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

例如,假設您在端口8983上運行最新版本的Solr,請創建一個剛運行的新核心:

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

必須對集合和核心之間有時發生的混淆做一個重要的區分。 從客戶端的角度來看,沒有區別,因此創建核心或集合取決於Solr是以獨立(核心)還是SolrCloud模式(集合)運行。

有關Solr Collection vs Cores的更完整的區別引用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM