在pymongo中创建文本索引

时间:2014-08-27 14:40:10

标签: regex mongodb pymongo full-text-indexing

我有一个存储在字段'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的工作原理。另外,我想将默认语言设置为英语。

1 个答案:

答案 0 :(得分:7)

将其作为阵列发送。

collection.create_index([('h', TEXT)], default_language='english')

我还使用了collection.getIndexes()来检查它:

    {
    "key" : {
        "h" : "text"
    },
    "ns" : "a.a",
    "name" : "h_text"
}