【发布时间】:2016-02-27 18:13:11
【问题描述】:
我正在尝试使用索引和 $text 进行 mongo 文本搜索
我的模型是
var authorSchema = new mongoose.Schema(
{
authorId : Number,
Description : String,
firstName : String
});
authorSchema.index({ firstName: 'text'});
我正在为名字创建索引
当我如下所示进行搜索时
router.route('/search')
.get(function(req,res){
Authors.find({ $text : { $search : req.params.search }},{"_id":0,"firstName":1},function(err,authors){
res.send(authors);
})
})
搜索似乎没有提供预期的结果,即,
我在集合中有两个文档,名字是 kumar 和 sam kumar *当我搜索 kumar 搜索将得到两个文件 *当我搜索 sam kumar 时,我将再次获得似乎不正确的两个文档,预期搜索只是 sam kumar
我做错了什么
请说当我搜索整个名字时我该如何完成搜索 搜索应该只返回单个文档
【问题讨论】:
-
确保索引已经创建。启动 Mongo Shell,并通过
db.collection_name.getIndexes()获取您收藏的索引
标签: mongodb text full-text-search