如何在正则表达式中获得最准确的术语?

时间:2018-05-17 15:15:46

标签: regex mongodb

我有一个角度应用程序使用mongodb sdk为js。 我想从我的单词集合中为用户的输入字段建议一些单词,所以我做了:

 getSuggestions(term: string) {
  var regex = new stitch.BSON.BSONRegExp('^' +term , 'i');
  return from(this.words.find({ 'Noun': { $regex: regex } }).execute());
}

问题在于,如果用户输入例如Bie,则查询返回大量文档,但最准确的是最后一个,例如Bier,首先它返回更大的单词,比如Bieberbach'sche Vermutung。如何处理首先返回最近的文档?

1 个答案:

答案 0 :(得分:1)

正则表达式可能不足以完成您打算在此处执行的操作。他们只能做他们想要做的事情 - 匹配一个字符串。它们可能用于向您提供候选条目以呈现给用户,但无法判断或权衡它们。你将不得不自己设计这个逻辑。