Solr动态场类型

时间:2014-05-19 21:17:26

标签: solr

我在Solr有一个字段

<dynamicField name="Phrase_*" type="string" indexed="true" stored="true" multiValued="true" required="false"/>

用于存放不同语言的短语,因此名称往往是“Phrase_en”,“Phrase_sp”等。我有分析器和过滤器,可以针对类似方式命名的类型对不同语言的字段进行操作(“ string_en“,”string_sp“等)为相应的语言执行正确的词干/同义词,我想找到一些方法来装配它,以便为每种语言使用正确的分析器/过滤器集,基于字段名称。

目前,我唯一能想到的就是创建一个多路复用这些分析器集的类型,并判断将哪一个发送给它,但我不知道该怎么做。

关于如何实现这一目标的任何想法,或实现该目标的更好方法?

1 个答案:

答案 0 :(得分:4)

Solr In Action(强烈建议那些希望深入了解Solr配置的人)和其他试图获得相同结果的书中详细介绍了这个问题。有三种基本方法:

  1. 每种语言的单独字段 - 加载到单独的字段中(不是 每个语言都有适当的标记器和过滤器
  2. 每种语言单独的索引/核心 -
  3. 一个领域的一切,定制     要管理的代码 -
  4. 你的建议是1和3的变体 - 我可以给你开始的最好的地方是阅读有问题的书(它在第14章)并研究他放置的代码在Github上实现它:

    https://github.com/treygrainger/solr-in-action/tree/master/src/main/java/sia/ch14 https://github.com/treygrainger/solr-in-action/tree/master/example-docs/ch14/cores