99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Solr API:Blob Store

2018-12-14 15:42 更新

Blob Store REST API提供REST方法來存儲(chǔ)、檢索或列出Lucene索引中的文件。

它可以用來上傳包含標(biāo)準(zhǔn)solr組件(如 RequestHandlers、SearchComponents 或其他為 solr 編寫的自定義代碼)的 jar 文件。架構(gòu)組件不還支持 Blob 存儲(chǔ)。

當(dāng)使用blob存儲(chǔ)時(shí),請(qǐng)注意,如果上傳了新名稱,則API不會(huì)刪除或覆蓋之前的對(duì)象。它總是向索引添加一個(gè)新的blob版本。刪除可以使用標(biāo)準(zhǔn)的REST刪除命令來執(zhí)行。

Blob存儲(chǔ)只能在SolrCloud模式下運(yùn)行。獨(dú)立模式下的Solr不支持使用Blob存儲(chǔ)。

blob store API是作為 requestHandler 實(shí)現(xiàn)的。使用名為“.system”的特殊集合來存儲(chǔ) blob。這個(gè)集合可以被預(yù)先創(chuàng)建,但是如果它不存在,它將被自動(dòng)創(chuàng)建。

關(guān)于.system集合

在將blob上傳到blob存儲(chǔ)區(qū)之前,必須創(chuàng)建一個(gè)特殊的集合并且必須命名為.system。如果尚未存在,Solr將自動(dòng)創(chuàng)建該集合,但是如果您選擇,則您也可以手動(dòng)創(chuàng)建它。

BlobHandler 自動(dòng)注冊(cè)在.system集合中。該集合的 solrconfig.xml、架構(gòu)和其他配置文件由系統(tǒng)自動(dòng)提供,并不需要進(jìn)行特別限定。

如果不使用-shards或-replicationFactor選項(xiàng),則將使用默認(rèn)值:numShards = 1 和 replicationFactor = 3(或群集中的最大節(jié)點(diǎn)數(shù))。

您可以使用集合 API 創(chuàng)建 .system集合,如下例所示:

curl http://localhost:8983/solr/admin/collections?action=CREATE&name=.system&replicationFactor=2

注意:該 bin/solr 腳本不能用于創(chuàng)建 .system 集合

將文件上傳到Blob Store

創(chuàng)建.system集合之后,可以將文件上傳到blob store,請(qǐng)求類似于以下內(nèi)容:

curl -X POST -H 'Content-Type: application/octet-stream' --data-binary @{filename} http://localhost:8983/solr/.system/blob/{blobname}

例如,要將名為“test1.jar”的文件上傳到名為“test”的blob,您可以發(fā)出POST請(qǐng)求,如:

curl -X POST -H 'Content-Type: application/octet-stream' --data-binary @test1.jar http://localhost:8983/solr/.system/blob/test

GET請(qǐng)求將返回blob列表和其他詳細(xì)信息:

curl http://localhost:8983/solr/.system/blob?omitHeader=true

輸出如下所示:

{
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"test/1",
        "md5":"20ff915fa3f5a5d66216081ae705c41b",
        "blobName":"test",
        "version":1,
        "timestamp":"2015-02-04T16:45:48.374Z",
        "size":13108}]
  }
}

有關(guān)各個(gè)blob的詳細(xì)信息可以通過類似于以下的請(qǐng)求來訪問:

curl http://localhost:8983/solr/.system/blob/{blobname}

例如,這個(gè)請(qǐng)求將只返回名為“test”的blob:

curl http://localhost:8983/solr/.system/blob/test?omitHeader=true

輸出如下所示:

{
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"test/1",
        "md5":"20ff915fa3f5a5d66216081ae705c41b",
        "blobName":"test",
        "version":1,
        "timestamp":"2015-02-04T16:45:48.374Z",
        "size":13108}]
  }
}

文件流響應(yīng)編寫器可以返回一個(gè)特定版本的blob進(jìn)行下載,如下所示:

curl http://localhost:8983/solr/.system/blob/{blobname}/{version}?wt=filestream > {outputfilename}

對(duì)于最新版本的blob,{version}可以省略,

curl http://localhost:8983/solr/.system/blob/{blobname}?wt=filestream > {outputfilename}

在處理程序或組件中使用Blob

要使用blob作為請(qǐng)求處理程序或搜索組件的類,可以在solrconfig.xml中照常創(chuàng)建請(qǐng)求處理程序。您將需要定義以下參數(shù):

class

完全合格的類名。例如,如果您創(chuàng)建了一個(gè)名為CRUDHandler的新的請(qǐng)求處理程序類,則可以輸入org.apache.solr.core.CRUDHandler。

runtimeLib

設(shè)置為true,要求該組件應(yīng)從加載運(yùn)行時(shí) jar 的加載器中加載。。

例如,要使用名為test的blob,您可以在solrconfig.xml中像這樣配置:

<requestHandler name="/myhandler" class="org.apache.solr.core.myHandler" runtimeLib="true" version="1">
</requestHandler>

如果自定義處理程序中有可用的參數(shù), 則可以使用與任何其他請(qǐng)求處理程序定義相同的方式來定義它們。
注意:Blob store 只能用于動(dòng)態(tài)加載在 solrconfig. xml 中配置的組件。在 solrconfig. xml 中指定的組件不能從 blob store 加載。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)