Solr自動生成ID配置

2021-08-08 22:12:06 字數 2121 閱讀 9508

solr基於lucene的索引,而索引中的最基本的單元式document,在solr中,管理每乙個document(更新、刪除、查詢),基本都會用到對應的id,類似關係資料表中的主鍵。但是,如果我希望solr能夠自動生成這個唯一的id,有時候也省去了不少的工作,而只需要在solr中進行配置即可。

下面,通過例項來說明,如何配置solr支援的uuid。

在solr

中配置生成唯一uuid

,需要修改兩個配置檔案:

schema.xml

schema.xml

檔案的配置內容,增加如下型別配置:

[html]view plain

copy

print?

<

fieldtype

name

="uuid"

class

="solr.uuidfield"

indexed

="true"

/>

再增加id欄位的型別,如下所示:

[html]view plain

copy

print?

<

field

name

="id"

type

="uuid"

indexed

="true"

stored

="true"

multivalued

="false"

required

="true"

/>

這樣還不夠,還需要指定在更新索引的時候,使用這個更新策略,即配置乙個requesthandler

元素。solrconfig.xml

配置solrconfig.xml

檔案,修改更新索引的requesthandler 

配置,內容如下所示:

[html]view plain

copy

print?

<

requesthandler

name

="/update"

class

="solr.updaterequesthandler"

>

<

lstname

="defaults"

>

<

strname

="update.chain"

>

dispup

str>

lst>

requesthandler

>

上面的update.chain就是我們實際要指定的使用uuid進行更新的策略的配置,如下所示:

[html]view plain

copy

print?

<

updaterequestprocessorchain

name

="dispup"

>

<

processor

class

="solr.uuidupdateprocesso***ctory"

>

<

strname

="fieldname"

>

idstr

>

processor

>

<

processor

class

="solr.logupdateprocesso***ctory"

/>

<

processor

class

="solr.distributedupdateprocesso***ctory"

/>

<

processor

class

="solr.runupdateprocesso***ctory"

/>

updaterequestprocessorchain

>

經過上面兩步配置,在進行索引的時候,就不需要指定document所要求的id了,完全有solr自動生成這個id字串。

參考:

Solr自動生成ID配置

solr基於lucene的索引,而索引中的最基本的單元式document,在solr中,管理每乙個document 更新 刪除 查詢 基本都會用到對應的id,類似關係資料表中的主鍵。但是,如果我希望solr能夠自動生成這個唯一的id,有時候也省去了不少的工作,而只需要在solr中進行配置即可。下面,...

Solr自動生成ID

在solr中,每乙個索引,都要有乙個唯一的id,類似於關係型資料庫表中的主鍵。為了方便建立索引,需要配置自動生成的id,即uuid。一 配置schema.xml檔案 新增uuid欄位型別,修改欄位id的型別。二 配置solrconfig.xml檔案 新增更新策略配置,呼叫solr中的uuidupda...

es手動生成id和自動生成id

1.es手動指定document id 1.根據應用情況來說,是否滿足手動指定document id的前提 一般來說,是從某些其他的系統中,匯入一些資料到es時,會採取這種方式。就是使用系統中已有的資料的唯一標識,作為es中 document的id.舉個例子,比如說,開發乙個電商 做搜尋功能,或者o...