我创建了以下集合和文本索引:
db.test1.insert({"name":"kumar goyal","email":'rakesh.goyal@gmail.com',"phoneNo":9742140651});
db.test1.ensureIndex({ "$**": "text" },{ name: "TextIndex" })
部分搜索适用于姓名和电子邮件字段,例如
db.test1.runCommand("text",{search:'rakesh'});
正确地返回记录,但它不在phoneNo
字段上。
db.test1.runCommand("text",{search:'9742'});
无效。
我猜文本索引不适用于数字字段。反正有没有让它在mongodb中工作?
答案 0 :(得分:2)
您正在将电话号码作为号码插入,然后将其作为字符串进行搜索。
也许您应该考虑将电话号码插入字符串。您不打算在该字段上执行任何算术操作吗?
这样mongo就可以在“数字”上执行文本搜索(就像你给出的那样),但会将它们视为字符串。
答案 1 :(得分:0)
Mongo DB全文不支持部分搜索。因此它没有用,与数字无关。