2015-11-19 48 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

相关问题