Solr动态字段类型

4

我在Solr中有一个字段

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

该项目使用不同语言的短语,因此名称通常为“Phrase_en”,“Phrase_sp”等。 我有分析器和过滤器可针对命名类似的类型(例如“string_en”,“string_sp”等)的不同语言字段进行正确的词干/同义词处理,并且我希望找到某种方法来使每种语言使用正确的分析器/过滤器集合,基于字段名称。
目前,我唯一想到的是创建一种类型来复用这些分析器集合,并根据字段名称判断要发送哪个分析器集合,但我不知道如何做到这一点。
有没有什么好的方法可以实现这个目标?
1个回答

4
这个问题在书籍《Solr In Action》中有详细讲解(强烈推荐那些想深入了解Solr配置的人阅读),同时也有其他人尝试实现相同的结果。有三种基本方法:
  1. 每种语言一个独立的字段 - 加载到具有适当分词器和过滤器的独立字段(非动态)中
  2. 每种语言一个独立的索引/核心 -
  3. 所有内容都在一个字段中,使用自定义代码进行管理 -
你的提议是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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接