我的solr架构中有一个动态数字多值字段 -
<dynamicField name="*_nm" type="float" indexed="true" stored="true" multiValued="true" omitNorms="false"/>
我想在所说的字段上运行功能评分 -
_val_:"if(exists(features.width_nm),mul(exp(div(pow(max(0,sub(abs(sub(features.width_nm,12.00000)),0.00000)),2),-51.93702)),10.00000),0.000000)"
但在我的Solr(5.2.1)版本中没有正确支持多值字段上的函数查询。尝试以上操作会出现错误 -
“无法在多值字段上使用FieldCache”
我目前的解决方法是在索引编制期间创建另一个字段,数字单值,其中包含多值的“简化”形式。
目前我在Java代码中这样做。 我有什么方法可以直接在Solr中这样做吗?例如使用“复制字段”?
为了完整性 - 在solr 6.3中,我能够通过使用带有描述为here的最小/最大参数的字段函数来计算多值字段上的函数得分。
非常感谢!