相关疑难解决方法(0)

Mongodb部分匹配

如何以一个levenshtein距离在mongodb中获取所有文档。

我有足球队的收藏。

{
    name: 'Real Madrir',
    nicknames: ['Real', 'Madrid', 'Real Madrir' ... ]
}
Run Code Online (Sandbox Code Playgroud)

与用户搜索Real MadidMaddrid或别的东西。

我想将包含昵称的所有文档返回给定搜索字符串的距离为0或1 levenshtein的所有文档。

我认为有两种方式,mongodb全文搜索或正则表达式。

那我可以写这样的正则表达式或查询吗?

谢谢。

javascript regex fuzzy-search mongodb levenshtein-distance

7
推荐指数
1
解决办法
4332
查看次数

文本索引 MongoDB,搜索字符串的最小长度

我已经从 mongo shell 为集合 X 创建了一个文本索引

db.X.ensureIndex({name: 'text', cusines: 'text', 'address.city': 'text'})
Run Code Online (Sandbox Code Playgroud)

现在,如果一个文档的 name 属性值为seasons,则其长度为 7

所以如果我运行查找查询(搜索字符串长度<= 5)

db.X.find({$text: {$search: 'seaso'}})
Run Code Online (Sandbox Code Playgroud)

如果我将搜索字符串更改为season (长度 >= 6) ,它不会返回任何值,然后返回文档。

现在我的问题是搜索字符串是否有一些最小长度限制来获取记录。如果是的话有什么办法可以改变吗?

mongoose mongodb

4
推荐指数
1
解决办法
1892
查看次数