使用Google AppMaker进行布尔搜索



我正在使用Google AppMaker创建一个应用程序,并希望创建一个布尔搜索选项(可以使用and/OR选项搜索多个字符串组合的文本框(。这类似于我目前在Gmail或LinkedIn上搜索的方式。我该如何创建它?

这里有一种方法可以实现这一点:

  1. 为要搜索的模型创建一个新的数据源
  2. 选择Query Script作为查询类型
  3. 添加一个名为searchCriteria的字符串参数
  4. 添加一组名为parameter0parameter1parameter2等的参数
  5. 输入以下代码作为服务器脚本(假设要搜索的字段名为"名称"(:

var searchCriteria = query.parameters.searchCriteria;
if(searchCriteria === null) return query.run();
var searchArray = searchCriteria.split(/( and | or )/i);
var searchString = '';
for(var i = 0; i < searchArray.length; i++){ 
if(i % 2 === 0 ){
searchString += 'Name contains :parameter' + i.toString() + ' ';
query.parameters['parameter' + i.toString()] = searchArray[i];
}else{
searchString += searchArray[i];
}
}

query.where = searchString;
return query.run();

  1. 然后在页面上将要搜索的文本框绑定到@datasource.query.parameters.searchCriteria
  2. 最后将搜索框的onValueEdit修改为Reload Datasource

此技术受创建的编号参数数量的限制,不允许使用括号。

最新更新