regex - 在 pymongo 中创建文本索引

标签 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 有效。另外我想将默认语言设置为英语。

最佳答案

将其作为数组发送。

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/

相关文章:

javascript - 编译 HTML 后替换回车符 (?)

python - pymongo中聚合方法过滤 bool 值

mongodb 和 pymongo 16Mb 文档大小限制

php - nginx 获取 url 的子域并分配文档根目录

python - 正则表达式用另一个捕获组替换捕获组的每次出现

c# - 使用 MongoDB C# 驱动程序查询派生类型值

c# - Mongodb 使用 C# 驱动程序使用多个字段匹配更新嵌入式文档

map 内的 Mongodb $elemMatch 查询

mongodb - 在 Mongo 2.6 和 Pymongo 2.7.1 上使用带有聚合查询的 maxTimeMS 参数

javascript - 替换字符串中的数字