在撰写报告时发现一处bug,中文分词查询结果总是只有一条新闻,后来发现是flag的位置不对。
代码由
var flag=0;
cnt = vals.length;
for (var x = 0; x < cnt; ++x) {
let newsfetch = vals[x];
newsfetch.author = newsfetch.author.replace(regex, "");
newsfetch.author = newsfetch.author.replace(/编辑:/g, "");
newsfetch.author = newsfetch.author.replace(/作者:/g, "");
newsfetch.publish_date = newsfetch.publish_date.replace(regex1, "");
let segs = segmenter.analyze(newsfetch.title + "。\n" + newsfetch.content).split(' ');
for (let seg of segs) {
seg = seg.toString();
if(seg.length>1 && !stop_words.includes(seg) && seg!=" "){
for(let kw of keywords){
if(kw.toString()==seg){
q_items.push(newsfetch);
flag = 1;
break;
}
}
}
if(flag==1){
break;
}
}
}
更改为
var flag;
cnt = vals.length;
for (var x = 0; x < cnt; ++x) {
flag=0;
let newsfetch = vals[x];
newsfetch.author = newsfetch.author.replace(regex, "");
newsfetch.author = newsfetch.author.replace(/编辑:/g, "");
newsfetch.author = newsfetch.author.replace(/作者:/g, "");
newsfetch.publish_date = newsfetch.publish_date.replace(regex1, "");
let segs = segmenter.analyze(newsfetch.title + "。\n" + newsfetch.content).split(' ');
for (let seg of segs) {
seg = seg.toString();
if(seg.length>1 && !stop_words.includes(seg) && seg!=" "){
for(let kw of keywords){
if(kw.toString()==seg){
q_items.push(newsfetch);
flag = 1;
break;
}
}
}
if(flag==1){
break;
}
}
}