如何将多值字段传递给自定义函数

时间:2015-05-21 09:06:55

标签: solr lucene multivalue

我一直在阅读有关此问题的答案,但我想确保我的问题有另一种方法。问题是解决方案不应该是索引时间,涉及索引新字段或将此多值字段更改为单值字段。

问题: 我需要使用某些字段运行自定义函数,但我发现无法获得多值字段的值(在本例中为第一个值)。在我的例子中,“标题”是一个多值领域。

当我尝试Solr功能时:

if(exists(title),strdist(title, “string1"),0).

这会抛出“无法在多值字段上使用FieldCache”错误。当我运行自定义函数时也会发生同样的情况。我无法访问多值字段。

对我不起作用的解决方案:

  • 使用更新处理器将值的副本保存到非多值字段中:这涉及索引新字段。

  • 将字段更改为multiValued = false:这涉及使用单值字段。我将在未来索引新数据,我需要一些字段来进行多值处理,但我也需要使用它们。

先谢谢,我花了很多时间没有解决方案。我正在使用Solr 4.10。

注意:的 我知道如何解析一个多值字段,但问题是Solr甚至没有访问我的函数,它抛出了以前的错误(看起来它在他的源函数 checkFieldCacheSource 上执行此操作)

0 个答案:

没有答案