Mapreduce SuiteScript 2.0:通过“搜索”执行保存的搜索时,是否存在任何搜索结果限制;getInputData";map/reduce脚本的阶段?
我目前正在NetSuite中构建一个map/reduce脚本,它将保存的搜索结果从getInputData阶段传递到map阶段。这是通过首先在getInputData阶段运行WHILE循环来完成的,以获取每个条目的内部ID,插入到数组中,然后传递到map阶段。像这样:Mapreduce SuiteScript 2.0:通过“搜索”执行保存的搜索时,是否存在任何搜索结果限制;getInputData";map/reduce脚本的阶段?,mapreduce,netsuite,suitescript,suitescript2.0,Mapreduce,Netsuite,Suitescript,Suitescript2.0,我目前正在NetSuite中构建一个map/reduce脚本,它将保存的搜索结果从getInputData阶段传递到map阶段。这是通过首先在getInputData阶段运行WHILE循环来完成的,以获取每个条目的内部ID,插入到数组中,然后传递到map阶段。像这样: // run saved search - unlimited rows from saved search. do { var subresults = invoic
// run saved search - unlimited rows from saved search.
do {
var subresults = invoiceSearch.run().getRange({ start: start, end: start + pageSize });
results = results.concat(subresults);
count = subresults.length;
start += pageSize + 1;
} while (count == pageSize);
var invSearchArray = [];
if(invoiceSearch){
//NOTE: .run().each has a limit of 4,000 results, hence the do-while loop above.
for (var i = 0; i < results.length; i++){
var invObj = new Object();
invObj['invID'] = results[i].getValue({name: 'internalid'});
invSearchArray.push(invObj);
}
}
return invSearchArray;
//运行保存的搜索-保存的搜索中的行不受限制。
做{
var subresults=invoiceSearch.run().getRange({start:start,end:start+pageSize});
结果=结果。concat(子结果);
count=subresults.length;
开始+=页面大小+1;
}while(count==页面大小);
var invSearchArray=[];
如果(发票搜索){
//注意:.run()。每个结果限制为4000个,因此上面的do while循环。
对于(var i=0;i
我这样实现它是因为我担心会有结果限制,就像“.run()。每个”函数都有(限制为4000个结果)一样
我假设将搜索对象直接从getInputData传递到Map也会限制4000个结果。有人能澄清是否存在此类限制吗?因为在map/reduce脚本的getInputData阶段中,搜索结果无法处理到4000以上,所以我担心脚本过早地跳转是对的吗
任何帮助我理解在map/reduce脚本中如何处理搜索对象的示例都将不胜感激
谢谢如果您只需返回
搜索
实例,所有结果将传递到映射
,超出getRange
和每个
方法的1000或4000限制
如果搜索有8500个结果,则所有8500个结果都将传递到map
函数getInputData(){
return search.load(…);//或者search.create(…)
}
非常感谢您回答Eric的问题。但是,我也应该借此机会直接感谢您不久前上传到YouTube的SuiteScript2.0教程。这真的很有用。再次感谢!