MongoDB和全文搜索部分的单词

时间:2016-08-08 11:41:09

标签: mongodb full-text-search

我需要找到这个词的一部分,如果我搜索一下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中获取此全文搜索的帮助

1 个答案:

答案 0 :(得分:1)

如果你想在mongo中进行全文搜索,那么你应该使用$ regex来使用这个查询

db.product.find({name:{$regex:/len/i}})

您可以阅读更多文档。 https://docs.mongodb.com/manual/reference/operator/query/regex/