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

在SolrConfig中的架構(gòu)工廠定義(Schema Factory Definition)

2018-12-09 11:55 更新

Solr的架構(gòu)API使遠(yuǎn)程客戶端可以通過(guò)REST接口訪問(wèn)架構(gòu)信息并進(jìn)行架構(gòu)修改。

其他特性,如Solr的Schemaless Mode,也可以在運(yùn)行時(shí)通過(guò)編程方式進(jìn)行架構(gòu)修改。

使用托管架構(gòu)需要能夠使用架構(gòu)API來(lái)修改您的架構(gòu)。然而,使用托管架構(gòu)本身并不意味著您也在無(wú)架構(gòu)模式(或“架構(gòu)猜測(cè)”模式)中使用Solr。

無(wú)架構(gòu)模式需要啟用托管架構(gòu)(如果尚未建立模式),但是完全模式猜測(cè)需要額外配置,如“無(wú)模式模式”部分中所述。

盡管架構(gòu)API的“讀取”特性對(duì)于所有架構(gòu)類型都是支持的,但是支持以編程方式進(jìn)行架構(gòu)修改依賴于正在使用的<schemaFactory/>。

Solr默認(rèn)使用托管架構(gòu)

當(dāng)<schemaFactory/>沒(méi)有在solrconfig.xml文件中顯式聲明時(shí),Solr隱式地使用ManagedIndexSchemaFactory,它是默認(rèn)的"mutable"并將模式信息保存在一個(gè)managed-schema文件中。

 <!-- An example of Solr's implicit default behavior if no
      no schemaFactory is explicitly defined.
 -->
  <schemaFactory class="ManagedIndexSchemaFactory">
    <bool name="mutable">true</bool>
    <str name="managedSchemaResourceName">managed-schema</str>
  </schemaFactory>

如果您想明確配置 ManagedIndexSchemaFactory,下列選項(xiàng)可用:

  • mutable - 控制是否可以對(duì)架構(gòu)數(shù)據(jù)進(jìn)行更改。這必須設(shè)置為true,以允許使用Schema API進(jìn)行編輯。
  • managedSchemaResourceName - 一個(gè)可選參數(shù),默認(rèn)為“managed-schema”,并為架構(gòu)文件定義一個(gè)新的名稱,該名稱可以是除“schema.xml”以外的任何其他名稱。

使用上面所示的默認(rèn)配置,您可以使用Schema API根據(jù)需要盡可能多地修改架構(gòu),如果您希望將架構(gòu)“鎖定”到位并防止將來(lái)發(fā)生更改,則稍后將mutable值更改為false。

經(jīng)典schema.xml

使用托管架構(gòu)的替代方法是顯式配置一個(gè)ClassicIndexSchemaFactory。ClassicIndexSchemaFactory 需要使用schema.xml配置文件,并且不允許在運(yùn)行時(shí)對(duì)架構(gòu)進(jìn)行任何編程式更改。該schema.xml文件必須手動(dòng)編輯,僅在加載集合時(shí)才加載。

<schemaFactory class="ClassicIndexSchemaFactory"/>

從schema.xml切換到托管架構(gòu)

如果您有一個(gè)現(xiàn)有的Solr集合使用了ClassicIndexSchemaFactory,并且您希望轉(zhuǎn)換為使用托管模式,則可以簡(jiǎn)單地修改solrconfig.xml以指定使用ManagedIndexSchemaFactory。

一旦Solr重新啟動(dòng),它檢測(cè)到schema.xml文件存在,但managedSchemaResourceName文件(即:“managed-schema”)不存在,現(xiàn)有的schema.xml文件將被重命名為schema.xml.bak,內(nèi)容被重新寫入托管的架構(gòu)文件。如果您查看生成的文件,您會(huì)在頁(yè)面頂部看到這個(gè):

<!-- Solr managed schema - automatically generated - DO NOT EDIT -->

您現(xiàn)在可以隨意使用Schema API,只需要進(jìn)行更改,然后刪除schema.xml.bak。

從托管架構(gòu)切換到手動(dòng)編輯的schema.xml

如果您啟動(dòng)了Solr并啟用了托管架構(gòu),并且想要切換到手動(dòng)編輯schema.xml文件,則應(yīng)執(zhí)行以下步驟:

  1. 重命名managed-schema文件為:schema.xml。
  2. 修改solrconfig.xml以替換schemaFactory類。刪除任何ManagedIndexSchemaFactory定義,如果存在。添加一個(gè)ClassicIndexSchemaFactory,如上所示的定義。
  3. 重新加載核心。

如果您正在使用SolrCloud,則可能需要通過(guò)ZooKeeper修改文件。該bin/solr腳本提供了一種簡(jiǎn)單的方法來(lái)從ZooKeeper下載文件并在編輯之后將其上傳。有關(guān)更多信息,請(qǐng)參閱ZooKeeper操作部分。

要完全控制schema.xml文件,您可能還需要禁用架構(gòu)猜測(cè),這可以在編制索引期間將未知字段添加到架構(gòu)中。在“無(wú)架構(gòu)模式”一節(jié)中討論了啟用此功能的屬性。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)