Solr:使用 DataImportHandler 在索引时设置字段提升



我需要在索引时使用DataImportHandler设置字段提升。我试图做这样的事情:

<entity name="places"  
    query="Select id, boost, text from table">
<field name="id"    column="id" />
<field name="boost"     column="boost"  />
<field name="1_text"  column="text"  boost="${boost}" />
</entity>

但它不起作用。这是错误:

Caused by: java.lang.NumberFormatException: For input string: "${boost}"

我所做的另一个方法是尝试使用脚本(转换器,但我不知道在字段设置提升的语法):

<script><![CDATA[
                function addfield(row){
                    var fieldName = row.get('id') + "_text"
                    row.put(fieldName, row.get('text'));
                    return row;
                }
            ]]></script>

拜托,你有什么建议吗?

遗憾的是,转换器中不支持每个字段的动态提升,除非您在实体中指定静态提升值。有一种方法可以设置文档提升,但它会影响文档中的所有字段,例如:

 row.put('$docBoost', row.get('boost'));

如果这不是您需要的,我建议您查看查询时间提升,因为您已经存储了"提升"字段。

相关内容

  • 没有找到相关文章

最新更新