Regex 在pymongo中创建文本索引

Regex 在pymongo中创建文本索引,regex,mongodb,pymongo,full-text-indexing,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 #... colle

我有一个英语单词数据库存储在字段“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.

请注意,升序和降序是有效的。另外,我想将默认语言设置为英语。

将其作为数组发送有效

collection.创建索引([('h',TEXT)],默认语言为英语)

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

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

我不知道,但是你的create_索引似乎不支持文本,它需要一个整数或浮点数。升序和降序都是整数,所以我希望文本也是整数。我也尝试过使用Sure_索引,但仍然不起作用。我认为您应该确认文本是整数或浮点。显然不是。这是字符串“text”。显然,这似乎在
集合中起作用。创建索引([('h',text)],缓存=300,默认值
但我还没有发布它,因为mongod说
警告:找不到特殊索引[text]
。它可能需要一个名字。我会回到你身边。