MongoDB 和全文搜索部分词

MongoDB and fulltext search part of the word

我需要找到这个词的一部分,如果我搜索 len 就可以找到所有以 len 开头的词。

我正在尝试在 MongoDB 中使用全文搜索,当它命中 100% 的单词而不仅仅是单词的一部分时,它运行良好。

有 sombardy 给我解决这个问题的方法吗?

有效的示例代码:

db.getCollection('product').find({
    '$and' : [{
    '$text': {
        '$search' : 'lenovo', // match word
        '$caseSensitive' : false
    },
    '$text': {
        '$search' : 'y50 b50 y700', // synonym prepared
        '$caseSensitive' : false
    }
    }]
})

示例代码我想得到相同的结果:

db.getCollection('product').find({
    '$and' : [{
    '$text': {
        '$search' : 'len',
        '$caseSensitive' : false
    },
    '$text': {
        '$search' : 'y50 b50 y700',
        '$caseSensitive' : false
    }
    }]
})

感谢您抽出宝贵时间,希望我能在 MongoDB

中获得有关此全文搜索的帮助

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

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

有关更多信息,您也可以阅读文档。 https://docs.mongodb.com/manual/reference/operator/query/regex/