我正在尝试使用某种形式的全文搜索我的一个mongodb集合(la flowdock)。 我为每个文档创建一个_keywords条目,并使用该文档中其他字段的小写单词填充它。然后我像这样搜索(前缀搜索)ex。 searchString ='car'
found_shots = connection.Shot.find({'_keywords': re.compile('^%s' % searchString.lower())}).limit(limit).skip(skip)
问题是当我尝试搜索多个单词时(例如,searchstring = ['car','online']
regex1 = re.compile('^%s' % searchStrings[0].lower())
regex2 = re.compile('^%s' % searchStrings[1].lower())
found_shots = connection.Shot.find({'$and':[{'_keywords':regex1},{'_keywords':regex2}]}).limit(limit).skip(skip)
这不起作用。有什么想法吗?
答案 0 :(得分:1)
$并且仅在1.9.x中提供。
由于您使用的是1.8.2,因此无法正常工作。
如果升级,您将获得最新的命令集,并且您将能够使用$和命令。
答案 1 :(得分:1)
MongoDB 2.6现在可以使用$ text命令和FTS索引进行全文搜索。