【问题标题】:Solr: Introduce a custom field in solr query responseSolr:在 solr 查询响应中引入自定义字段
【发布时间】:2014-06-24 10:47:38
【问题描述】:

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

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

也许有一种方法可以将 Solr 计算的分数值相乘或变成带有前缀/后缀的字符串(不是在这里询问是否将其转换为百分比)?

【问题讨论】:

  • 您希望该字段出现在搜索时动态生成的索引中吗?
  • 当搜索结果可用时,该字段的值应即时生成。

标签: java solr customization


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-18
    • 2015-09-06
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 2015-10-16
    • 2013-03-16
    相关资源
    最近更新 更多