【发布时间】:2016-05-14 08:22:57
【问题描述】:
我们有一种情况,用户希望有一个“多功能框”来搜索文档中任意位置的单词\短语。
MongoDB 是否能够执行此搜索,还是必须对每个字段进行显式搜索?
【问题讨论】:
标签: mongodb full-text-search mongodb-query text-search
我们有一种情况,用户希望有一个“多功能框”来搜索文档中任意位置的单词\短语。
MongoDB 是否能够执行此搜索,还是必须对每个字段进行显式搜索?
【问题讨论】:
标签: mongodb full-text-search mongodb-query text-search
你需要像这样创建一个wildcard text indexes:
db.collection.createIndex( { "$**": "text" } )
您可以使用$text 运算符执行文本搜索。
如文档中所述:
此索引允许对所有具有字符串内容的字段进行文本搜索。如果不清楚要在文本索引中包含哪些字段或用于临时查询,这种索引对于高度非结构化数据很有用。
【讨论】:
$text 是搜索整个单词,例如,如果我想搜索 va 和 validate switch port,则不是返回。无论如何,我也可以使用$text 搜索单词的一部分。