2

我创建了以下集合和文本索引:

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中工作?

4

2 回答 2

2

您将电话号码作为数字插入,然后将其作为字符串进行搜索。

也许您应该考虑将电话号码作为字符串插入。您不打算在该字段上执行任何算术运算,是吗?

这样,mongo 将能够对“数字”执行文本搜索(就像您作为示例给出的那样),但会将它们视为字符串。

于 2013-10-24T10:28:51.587 回答
0

Mongo DB 全文不支持部分搜索。因此它不起作用,与数字无关。

于 2013-10-24T13:04:30.787 回答