0

我已经成功编写了一个自定义函数并将其连接到我的 Solr 引擎中。但是,我在将参数从 data-import.xml 导入定义文件中传递到该函数时遇到问题。

我尝试了一种方法,一种方法是从当前实体查询中传入一个字段,另一种方法是尝试使用上一个查询中的变量……似乎没有用。

尝试 1:传入当前查询的列:

<entity name="doc" query="SELECT id, date, ${dataimporter.functions.myfunc(id,date)} AS custom_value FROM Documents" />

这不起作用,因为 id 和 date 似乎是作为文字传入的,而不是列值。

尝试2:

<entity name="doc" query="SELECT id, date FROM Documents">
  <entity name="special" query="SELECT ${dataimporter.functions.myfunc(${doc.id}, ${doc.date})} AS custom_value" >
          <field name="custom_value" column="custom_value" />
  </entity>
</entity>

这不起作用,因为它与变量中的变量混淆了。

关于如何使这项工作的任何建议?

4

2 回答 2

1

尝试

<entity name="doc" query="SELECT id, date, ${dataimporter.functions.myfunc(doc.id,doc.date)} AS custom_value FROM Documents" />

于 2011-04-07T11:29:20.337 回答
1

生成 custom_value 的另一种方法是使用转换器标签

在transformer_row 中,您可以向该行添加更多列,或者根据需要编写自定义函数进行转换。

于 2011-09-30T02:35:11.940 回答