2014-06-24 44 views
0

是否有可能引入自定义字段Solr的QueryResponse,将包含基于另一个响应值计算的值?例如,如果我在响应中有“分数”字段,我希望我的自定义字段(让它命名为“multipliedScore”)包含值= (score * 10);Solr的:在Solr的查询响应介绍的自定义字段

需要计算自定义字段的值(不是静态的)。

也许有一个方式,采取由Solr的计算的分数值,并乘以或转成字符串前缀/后缀(问这里大约把它变成百分比)?

+0

您是否希望此字段存在于搜索时正在生成的索引中? –

+0

当搜索结果可用时,应立即生成该字段的值。 – RabbitObject

回答

1

您可以使用DocTransformer来实现此目的。只需从类中继承并实现transform方法中所需的逻辑即可:

public void transform(SolrDocument doc, int docId) { 
    String oldValue = doc.getFieldValue(fieldName); 
    doc.put(newField,getNewValue(oldValue)); 
}