MongoDB全文索引优先级设置

在test中创建两个文档,命令如下

db.test.insert( [{
    
     Sysno:1111, Productname:"Rose", Weight:123, Productmode:"aaa", }, {
    
     Sysno:2222, Productname:"flower", Weight:345, Productmode:"aaa", } ] )

在这里插入图片描述

在要test这个集合里所有文档里(全文范围)查找包含关键词为rose的文档,分别给productname和productmode字段设置了优先级,没设置优先级的字段默认优先级是1。 命令以及结果如下:

db.test.createIndex({
    
    "$**":"text"},{
    
    "weights":{
    
    "Productname":10,"Productmode":5}})

在这里插入图片描述
查询结果如下:
在这里插入图片描述

再创建两个文档,再查找rose,结果如下

db.test.insert( [{
    
     Sysno:3333, Productname:"bbb", Weight:123, Productmode:"rose", }, {
    
     Sysno:4444, Productname:"aaa", Weight:"rose", Productmode:"ccc", } ] )

在这里插入图片描述

可以看出,查找时,先在某文档的productname字段里找是否包含了关键词rose,包含则输出该文档;否则就在productmode里找是否包含rose,有则输出;如果还没有就在其他所有字段里找rose。查找顺序是是由之前设置的优先度决定的。

创建全文本索引的语法如下:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42126962/article/details/109385896
今日推荐