2015-11-19 24 views
2

我有一個自動化的過程,在Mongo實例(當前的Mongo 2.6/PyMongo 2.72)中的各個字段上創建文本索引。您可以將文本搜索的權重傳遞給PyMongo中的create_index嗎?

from pymongo import MongoClient, TEXT 
db = MongoClient() 
collection = db.collection 

collection.create_index([("foo",TEXT), ("bar",TEXT), ("baz",TEXT)]) 

我想根據Mongo docs來權重集合。在蒙戈外殼,這將是:

db.collection.create_index({ foo: text, bar: text, baz: text}, {weights: {foo: 10, bar: 5, baz 1}}) 

然而,因爲我在做這在Python,而不是蒙戈外殼。 PyMongo支持這個嗎?

回答

2

在Python(PyMongo 2.4.2和更新版本),該指數聲明如下:

collection.create_index(
    [ 
     ('foo', TEXT), 
     ('bar', TEXT), 
     ('baz', TEXT) 
    ], 
    weights={ 
     'foo': 10, 
     'bar': 5, 
     'baz': 1 
    } 
) 
+1

優秀的,謝謝了。我應該剛剛嘗試過那樣的關鍵字。欣賞它。 – psvann

+0

這仍然沒有出現在官方文檔中,希望這會得到修復。 – Harry

相關問題