我需要找到这个词的一部分,如果我搜索一下len关闭它会找到以len开头的所有单词。
我试图在MongoDB中使用全文搜索,并且当它达到100%的单词并且不仅仅是单词的一部分时,它的效果很好。
对我来说有一个解决方案可以使这个问题起作用吗?
有效的示例代码:
db.getCollection('product').find({
'$and' : [{
'$text': {
'$search' : 'lenovo', // match word
'$caseSensitive' : false
},
'$text': {
'$search' : 'y50 b50 y700', // synonym prepared
'$caseSensitive' : false
}
}]
})
示例代码我想获得相同的resualt:
db.getCollection('product').find({
'$and' : [{
'$text': {
'$search' : 'len',
'$caseSensitive' : false
},
'$text': {
'$search' : 'y50 b50 y700',
'$caseSensitive' : false
}
}]
})
感谢您的时间,并希望我能在MongoDB中获取此全文搜索的帮助
答案 0 :(得分:1)
如果你想在mongo中进行全文搜索,那么你应该使用$ regex来使用这个查询
db.product.find({name:{$regex:/len/i}})
您可以阅读更多文档。 https://docs.mongodb.com/manual/reference/operator/query/regex/