我可以访问javascript转换器中的solr dataimporter.request变量吗
Can I access solr dataimporter.request variables in a javascript transformer
我有一个dataconfig.xml文件,它从Oracle数据库收集数据。在Datasource元素中,我使用诸如${dataimporter.request.dbname}之类的变量,这些变量成功地返回了我通过dataimport url传递的自定义值。
我现在正在同一个dataconfig文件中编写一个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");
....
}
您可以通过这种方式访问您的额外变量。这看起来有点复杂,但这是我能找到的最好的(有效!)。
您可以从请求上下文的dataimport调用访问请求参数,该请求上下文可用于脚本,与"row"相同。
function myScript(row, context) {
var dbName = context.getRequestParameters().get('db_name');
...
}
相关文章:
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- https.request ignoring rejectUnauthorized
- Javascript ajax request
- node js post request.body undefined
- 带有Request.Form的JScript数组
- 在http服务单元测试中使用request-js时,chai.request不是一个函数
- 正在发送请求中包含数组的qx.io.request.Xhr请求
- Angular Cross Origin Request CORS失败,但节点http.get()成功返回
- curl post request jquery equivalent
- dojo/request PUT方法dosn'不起作用
- PHP无法检索request.send
- 如何在 jquery post request 中发送api_key和api_secret参数
- webpack-request(jquery)获胜'不起作用
- Ajax-Request:将动态内容传递给模态
- 发送数组 ajax.request 原型
- 在 http 请求中添加事件侦听器 ( request.on ) 是什么意思?而笏就是它的用途
- Angular JS $http request?
- rails jquery ajax request not executing
- JavaScript 中的 http request in while 循环
- 我可以访问javascript转换器中的solr dataimporter.request变量吗