gpt4 book ai didi

javascript - 我可以在 javascript 转换器中访问 solr dataimporter.request 变量吗

转载 作者:行者123 更新时间:2023-11-30 05:36:55 25 4
gpt4 key购买 nike

我有一个从 Oracle 数据库收集数据的 dataconfig.xml 文件。在 Datasource 元素中,我使用 ${dataimporter.request.dbname} 等变量成功返回我通过数据导入 url 传递的自定义值。

我现在正在同一个数据配置文件中编写一个 javascript 转换器,以在多值字段中添加值,其中包括数据库名称。是否可以从 javascript 转换器中引用变量 ${dataimporter.request.dbname} ?如果是这样,正确的语法是什么?

这是我尝试过的方法,但是没有填充 dbname:

function relatedItems(row) {
var relatedItemsArray = new java.util.ArrayList();
var dbname=${dataimporter.request.db_name};
relatedItemsArray.add('type=DOCUMENT;datasource:PB||' + dbname);
row.put('relation', relatedItemsArray);
return row;
}

非常感谢任何帮助!

提前致谢。

最佳答案

我自己也遇到了这个问题...这个问题很老了,但为了以防万一,这就是我将上下文变量传递给数据导入处理程序中的脚本的方式:

<entity name="fileline" processor="LineEntityProcessor" url="${filelist.fileAbsolutePath}" format="text" transformer="TemplateTransformer,script:relatedItems">
<field column="dbname" template="${dataimporter.request.db_name}"/>
</entity>

TemplateTransformer 将在新字段中添加参数,然后将增加的行传递给脚本。然后在脚本中:

    function relatedItems(row) {
var dbname= row.get("dbname");
var rawLine = row.get("rawLine");
....
}

您可以通过这种方式访问​​您的额外变量。这似乎有些令人费解,但这是我能找到的最好的(有效!)。

关于javascript - 我可以在 javascript 转换器中访问 solr dataimporter.request 变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com