[英]mongodb full text search advice multiple words
我正在嘗試對我的一個 mongodb 集合(a la flowdock )進行某種形式的全文搜索。 我為每個文檔創建一個 _keywords 條目,並用來自該文檔中其他字段的小寫單詞填充它。 然后我像這樣搜索它(前綴搜索)例如。 searchString = '汽車'
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)
那行不通。 請問有什么想法嗎?
MongoDB 2.6 現在可以允許使用$text
命令結合 FTS 索引進行全文搜索。
$and
僅在 1.9.x 中可用。
由於您使用的是 1.8.2,因此無法正常工作。
如果您升級,您將獲得最新的命令集,並且您將能夠使用 $and 命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.