我正在尝试编写一个自定义i18n分析器,其执行由文档中另一个字段的值决定。
例如,如果文档中的语言环境字段的值为“de”,则i18nCustomAnalyzer将使用德语标记器/过滤器集来处理字段的值。类似地,如果locale = jp,那么i18nCustomAnalyzer必须使用日语标记器/过滤器集来分析字段的内容。
我的问题是:自定义分析器如何在分析特定字段的值时访问文档中另一个字段(在本例中为区域设置字段)的值?
编辑:有一个解决方案,我们可以将区域设置值添加到字段的值即viz。德| fieldValue方法 然后i18n自定义分析器可以在分析字段值的同时提取语言环境。这似乎是一个肮脏的解决方案。因此,找出是否有任何solr / lucene专家有更好的解决方案。我确信我不会问以前没有想到或解决的问题。