MongoDB全文搜索——目前尚不支持针对特定field的搜索

复制代码
> db.articles.createIndex( { subject: "text" } )
{
        "createdCollectionAutomatically" : true,
        "numIndexesBefore" : 1,
        "numIndexesAfter" : 2,
        "ok" : 1
}
> db.articles.insert(
...    [
...      { _id: 1, subject: "coffee", author: "xyz", views: 50 },
...      { _id: 2, subject: "Coffee Shopping", author: "efg", views: 5 },
...      { _id: 3, subject: "Baking a cake", author: "abc", views: 90  },
...      { _id: 4, subject: "baking", author: "xyz", views: 100 },
...      { _id: 5, subject: "Caf Con Leche", author: "abc", views: 200 },
...      { _id: 6, subject: ".......", author: "jkl", views: 80 },
...      { _id: 7, subject: "coffee and cream", author: "efg", views: 10 },
...      { _id: 8, subject: "Cafe con Leche", author: "xyz", views: 10 }
...    ]
... )
BulkWriteResult({
        "writeErrors" : [ ],
        "writeConcernErrors" : [ ],
        "nInserted" : 8,
        "nUpserted" : 0,
        "nMatched" : 0,
        "nModified" : 0,
        "nRemoved" : 0,
        "upserted" : [ ]
})
> db.articles.find( { $text: { $search: "coffee" } } )
{ "_id" : 2, "subject" : "Coffee Shopping", "author" : "efg", "views" : 5 }
{ "_id" : 7, "subject" : "coffee and cream", "author" : "efg", "views" : 10 }
{ "_id" : 1, "subject" : "coffee", "author" : "xyz", "views" : 50 }> db.articles.find( { $text: { $search: "\"coffee shop\"" } } )
{ "_id" : 2, "subject" : "Coffee Shopping", "author" : "efg", "views" : 5 }
> db.articles.find( { $text: { $search: "\"coffee\" \"shop\"" } } )
{ "_id" : 2, "subject" : "Coffee Shopping", "author" : "efg", "views" : 5 }
> db.articles.find( { $text: { $search: "coffee shop" } } )
{ "_id" : 2, "subject" : "Coffee Shopping", "author" : "efg", "views" : 5 }
{ "_id" : 7, "subject" : "coffee and cream", "author" : "efg", "views" : 10 }
{ "_id" : 1, "subject" : "coffee", "author" : "xyz", "views" : 50 }
复制代码

参考:https://docs.mongodb.com/manual/reference/operator/query/text/

posted @   bonelee  阅读(452)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示