即將推出的MongoDB 2.4支持full-text search。Pymongo全文搜索
我們這樣做是在命令蒙戈外殼,如
db.players.runCommand("text", {
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
現在移植這個時候pymongo,我們必須處理與runCommand
未在pymongo Collection
類中定義的事實。我能想出什麼真正命令是,所以這個曾在外殼:
db.runCommand({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
其工作。但是這並不完全告訴我如何讓它在pymongo中工作。我試過:
db.command({
"text":"players",
"pipeline": [
("search","alice"), ("project",{"name":1,"_id":0}), ("limit",10)
]})
哪些沒有工作(它說「沒有搜索指定」)。我也試過:
db.command({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit":10})
哪一個當然會失敗:「no such cmd:project」。
我可以得到,如果我只用search
和limit
,例如
db.command({
"text": "players",
"search": "alice",
"limit": 10})
,但我想用filter
和project
與pymongo東西的工作。有沒有人得到全文搜索與項目和過濾器工作?
另外:也許有一個很好的方法來從shell命令推斷pymongo命令的形狀?
這是否工作正則表達式呢?像db.command(「regex」,「players」,search =「alice」) – Jeff 2014-03-16 02:46:10
我不熟悉'regex'命令。它沒有出現在MongoDB的[官方命令列表](http://docs.mongodb.org/manual/reference/command/)上。 – 2014-03-16 05:12:13