我有一个存储在“h”字段中的英语单词数据库。我刚刚发现了文本索引,我想在这个字段上创建一个以加快正则表达式的搜索,但不知何故,我就是无法正确使用语法。我正在使用 pymongo 2.7.1 和 python 3.4。
from pymongo import MongoClient
from pymongo import ASCENDING
from pymongo import DESCENDING
from pymongo import TEXT
#...
collection.create_index('h', TEXT)
我收到以下错误:
in create_index
raise TypeError("cache_for must be an integer or float.")
TypeError: cache_for must be an integer or float.
注意 ASCENDING 和 DESCENDING 有效。另外我想将默认语言设置为英语。
最佳答案
将其作为数组发送。
collection.create_index([('h', TEXT)], default_language='english')
我也使用了 collection.getIndexes() 来检查它:
{
"key" : {
"h" : "text"
},
"ns" : "a.a",
"name" : "h_text"
}
关于regex - 在 pymongo 中创建文本索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530132/