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

Solr實(shí)時(shí)獲取功能

2018-12-05 11:50 更新

為了讓Solr索引更新可見(jiàn)(可搜索),某些類型的提交必須重新打開(kāi)搜索程序到索引的新時(shí)間點(diǎn)視圖。

Solr實(shí)時(shí)獲取功能使檢索(通過(guò) unique-key)任何文檔的最新版本,而無(wú)需重新打開(kāi)一個(gè)搜索的相關(guān)成本。在使用 Solr 作為 NoSQL 數(shù)據(jù)存儲(chǔ)而不僅僅是搜索索引時(shí),這是非常有用的。

實(shí)時(shí)獲取依賴于 "更新日志" 功能,該功能默認(rèn)啟用,并且可以在 solrconfig.xml 中進(jìn)行配置,如下所示:

<updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
</updateLog>

實(shí)時(shí)獲取請(qǐng)求可以使用在 Solr 隱式存在的 /get 處理程序來(lái)執(zhí)行-請(qǐng)參見(jiàn)隱式 RequestHandlers,它等效于以下配置:

<requestHandler name="/get" class="solr.RealTimeGetHandler">
  <lst name="defaults">
    <str name="omitHeader">true</str>
  </lst>
</requestHandler>

例如, 如果您使用 bin/solr-techproducts 示例命令啟動(dòng)了Solr,那么您就可以對(duì)一個(gè)新文檔(不需要提交它)進(jìn)行索引 (以提交它),如下所示:

curl 'http://localhost:8983/solr/techproducts/update/json?commitWithin=10000000' \
  -H 'Content-type:application/json' -d '[{"id":"mydoc","name":"realtime-get test!"}]'

如果您進(jìn)行正常搜索,則不應(yīng)該找到該文檔:

http://localhost:8983/solr/techproducts/query?q=id:mydoc
...
"response":
{"numFound":0,"start":0,"docs":[]}

但是,如果使用公開(kāi)的實(shí)時(shí)獲取處理程序/get,則仍然可以檢索該文檔:

http://localhost:8983/solr/techproducts/get?id=mydoc
...
{"doc":{"id":"mydoc","name":"realtime-get test!", "_version_":1487137811571146752}}

您也可以通過(guò) ids 參數(shù)和以逗號(hào)分隔的 id 列表或使用多個(gè) id 參數(shù)同時(shí)指定多個(gè)文檔。如果您指定了多個(gè) ID 或使用 ids 參數(shù),則響應(yīng)將模擬正常的查詢響應(yīng),以便現(xiàn)有客戶端更容易解析。

例如:

http://localhost:8983/solr/techproducts/get?ids=mydoc,IW-02
http://localhost:8983/solr/techproducts/get?id=mydoc&id=IW-02
...
{"response":
  {"numFound":2,"start":0,"docs":
    [ { "id":"mydoc",
        "name":"realtime-get test!",
        "_version_":1487137811571146752},
      {
        "id":"IW-02",
        "name":"iPod & iPod Mini USB 2.0 Cable",
        ...
    ]
 }
}

實(shí)時(shí)獲取請(qǐng)求也可以與過(guò)濾器查詢結(jié)合使用,用 fq 參數(shù)指定,就像搜索請(qǐng)求一樣:

http://localhost:8983/solr/techproducts/get?id=mydoc&id=IW-02&fq=name:realtime-get
...
{"response":
  {"numFound":1,"start":0,"docs":
    [ { "id":"mydoc",
        "name":"realtime-get test!",
        "_version_":1487137811571146752}
    ]
 }
}

注意:如果您使用的是 SolrCloud,則不要禁用實(shí)時(shí)獲取處理程序/get,否則任何首項(xiàng)選擇都將導(dǎo)致有關(guān)碎片的所有副本的完全同步。

同樣,復(fù)制副本恢復(fù)也總是從首項(xiàng)那里獲取完整的索引,因?yàn)樵跊](méi)有這個(gè)處理程序的情況下,部分同步是不可能的。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)