Regex 在pymongo中创建文本索引
我有一个英语单词数据库存储在字段“h”中。我刚刚发现了关于文本索引的内容,我想在这个字段上创建一个索引,以加快正则表达式的搜索速度,但不知怎么的,我就是无法获得正确的语法。我正在使用pymongo 2.7.1和python 3.4Regex 在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
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]
。它可能需要一个名字。我会回到你身边。