(使用solr 4.10.3)
我有一个包含三个日期的solr架构:
resolvedDate(由#1或#2填充)
因为我需要使用ResolvedDate进行排序,所以它是multiValued =“false”。我试图使用行为填充resolveDate; “如果可用,请使用可选字段值,否则回退到所需的字段值”。我的尝试:
<copyField source="requiredDate" dest="resolvedDate" /> <copyField source="optionalDate" dest="resolvedDate" />由于尝试将多个值复制到单个值字段,
失败。
我可以在架构或UpdateRequestHandler定义中实现具有此回退行为的字段吗?怎么样?
答案 0 :(得分:2)
您可以使用StatelessScriptUpdateProcessor(参见Update Request Processors),它允许在更新请求期间使用脚本处理文档。为每个定义的脚本提供了几个全局变量,因此您可以轻松执行所需的操作。
您必须定义一个UpdateRequestProcessorChain,您可以在其中放置脚本处理器定义,并在更新requestHandler(solrconfig.xml)中声明处理器链的使用。