mongodb全文搜索建议多个单词
我正在尝试对我的 mongodb 集合之一进行某种形式的全文搜索(例如 flowdock)。 我为每个文档创建一个 _keywords 条目,并使用该文档中其他字段中的小写单词填充它。然后我像这样搜索它(前缀搜索)例如。 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)
这不起作用。有什么想法吗?
I am trying to have some form of fulltext search for one of my mongodb collections (a la flowdock).
I create a _keywords entry for each document and populate it with lowercased words from the other fields in that document. I then search it like this (prefixed search) ex. searchString = 'car'
found_shots = connection.Shot.find({'_keywords': re.compile('^%s' % searchString.lower())}).limit(limit).skip(skip)
The problem is when I try to search on multiple words ( ex. 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)
That does not work. any ideas please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
$and
仅在 1.9.x 中可用。由于您使用的是 1.8.2,因此它无法正常工作。
如果您升级,您将获得最新的命令集,并且您将能够使用 $and 命令。
$and
is only available in 1.9.x.Since you are using 1.8.2 it does not work correctly.
If you upgrade you will get the latest set of commands and you will be able to use the $and command.
MongoDB 2.6 现在可以允许使用
$text
命令结合 FTS 索引进行全文搜索。MongoDB 2.6 can now allow full text searching using the
$text
command combined with a FTS index.