mongodb全文搜索建议多个单词

时间:2011-09-05 14:33:05

标签: python search mongodb full-text-search

我正在尝试使用某种形式的全文搜索我的一个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)

这不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

$并且仅在1.9.x中提供。

由于您使用的是1.8.2,因此无法正常工作。

如果升级,您将获得最新的命令集,并且您将能够使用$和命令。

答案 1 :(得分:1)

MongoDB 2.6现在可以使用$ text命令和FTS索引进行全文搜索。