我有一個事物數據庫,每個事物都可以有不同語言的多個名稱。這是目前歸一東西有,很多名字模式:非規範化混合語言文檔的Solr語言檢測更新處理器
things
------
id
...
names
-----
id
thing_id
language
name
我這個索引使用Solr的,我試圖找出非規範化成爲Lucene的模式是最好的方法。這一個工作好:
<fields>
<field name="id" type="uuid" indexed="true" stored="true" required="true" />
...
<field name="name_eng" type="text_eng" indexed="true" stored="true" />
<field name="name_jpn" type="text_cjk" indexed="true" stored="true" />
<field name="name_kor" type="text_cjk" indexed="true" stored="true" />
</fields>
的問題是,我需要指定一個字段,字段類型爲支持的每種語言逐個,並有可能成爲很多。由於我也使用SQL DataImportHandler,這意味着我必須複製大量代碼才能指定SQL查詢以將這些數據從數據庫導入到此模式中。此外,名稱的language
字段並不總是正確的,因爲它基於用戶輸入。
我一直在尋找language detection capabilities Solr優惠,看起來非常好。但他們似乎只對整個文檔起作用,在這種情況下,我猜不會有太大的幫助。有沒有一種方法可以在我可以存儲名稱的模式中指定一個單獨的multiValued
字段,其名稱將被相應地自動檢測並編入索引?或者其他語言檢測設施可以讓我的生活更輕鬆嗎?