基本提纲;我正在检索〜100个Facebook状态,并对这些帖子进行搜索以检查它是否包含~20个搜索词之一。当我尝试在浏览器中运行它时,它会锁定,这让我担心在客户端尝试运行它。激烈的循环冻结浏览器;如何让服务器做到这一点?
让服务器运行此操作并返回结果最简单的方法是什么?我可以用Python做到吗?这里是循环,供参考。
function Filter() {
console.log("running Filter")
//loop through fbObj.posts
for (i = 0, l = fbObj.length; i < l; i++){
var post = fbObj[i].post
console.log("Checking " + post + " for search terms")
//loop through searchTerms
for (j = 0; j<searchTermObj.length; j= j++) {
searchTerm_variants = searchTermObj[j].words
for (x = 0; x < searchTerm_variants.length; x++){
if (post.indexOf(searchTerm_variants[x]) !== 0){
foundPosts[i] = {}
foundPosts[i] = fbObj[i]
}
}
}
console.log(foundPosts)
}
}
您不需要在服务器上执行此操作。你只需要一个更好的方法来做到这一点。您可以将所有搜索条件组合成一个单一的(可怕的)正则表达式,然后让运行时的正则表达式引擎发挥最大作用。它几乎可以肯定比你得到的效率更高。 – Pointy 2013-04-04 14:04:59
有关如何实现此目标的任何建议/链接? – jumbopap 2013-04-04 14:07:58
嗯,我猜你已经得到了简单单词的列表。您可以通过将它们与“|”连接来构建正则表达式。我会看看我是否可以在答案中输入如何做到这一点的草图。 – Pointy 2013-04-04 14:15:03