我有一个事物数据库,每个事物都可以有不同语言的多个名称。这是目前归一东西有,很多名字模式:非规范化混合语言文档的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
字段,其名称将被相应地自动检测并编入索引?或者其他语言检测设施可以让我的生活更轻松吗?