我有一个自动化过程,可以在Mongo实例的各个字段上创建文本索引(当前的Mongo 2.6 / PyMongo 2.72)。
from pymongo import MongoClient, TEXT
db = MongoClient()
collection = db.collection
collection.create_index([("foo",TEXT), ("bar",TEXT), ("baz",TEXT)])
我想根据Mongo docs对集合进行加权。在Mongo shell中,这将是:
db.collection.create_index( { foo: text, bar: text, baz: text}, {weights: {foo: 10, bar: 5, baz 1}})
但是,因为我在Python中这样做而不是Mongo shell。 PyMongo支持这个吗?
答案 0 :(得分:4)
在Python(PyMongo 2.4.2和更新版本)中,索引声明如下所示:
collection.create_index(
[
('foo', TEXT),
('bar', TEXT),
('baz', TEXT)
],
weights={
'foo': 10,
'bar': 5,
'baz': 1
}
)