命令行查询:
1、可以使用 .* 来模糊查询,如下是查询姓陈的用户。
db.customers.find( { name : /陈.*/i } );
2、也可不带*号
db.fs.files.find({filename:/install_mongo.sh/i})
PHP查询:
$query=array("name"=>newMongoRegex("/.*”.$name.".*/i"));
$db->find($query);
简单的几万数据没有关系,但是二百多万数据,对文本字段进行模糊查询,基本查不出来,如何提高查询效率
解决办法
英文就建full text index,中文嘛,呵呵,要另找全文索引方案来帮忙,比如elasticsearch
可以用Lucence/Sphinx结合MongoDb做搜索查询,Mongodb查询效率确实比较低
时间: 2024-10-27 05:08:39