mongodb - $text 查询所需的 mongo-go-driver (IndexNotFound) 文本索引

标签 mongodb go indexing text-search

我正在使用 mongo-go-driver 并尝试使用文本搜索

我正在创建这样的索引

    opts := options.CreateIndexes().SetMaxTime(10 * time.Second)
    db.Collection("my_collection").Indexes().CreateMany(
        context.Background(),
        []mongo.IndexModel{
            {
                Keys: bsonx.Doc{{"title", bsonx.Int32(-1)}},
            },
            {
                Keys: bsonx.Doc{{"info.tags", bsonx.Int32(-1)}},
            },
        },
        opts,
    )

...在查询时我正在这样做

    collection := db.Collection("my_collection")

    cur, err := collection.Find(context.Background(), bson.M{ "$text": bson.M{ "$search": query }})

我在调用查询时得到了这个

 (IndexNotFound) text index required for $text query
  exit status 1

最佳答案

您需要有一个 text index在至少 1 个字段上才能使查询正常工作。 尝试在任何字段上创建文本索引并重试

关于mongodb - $text 查询所需的 mongo-go-driver (IndexNotFound) 文本索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55355789/

相关文章:

xml - 具有命名空间的 Golang XML Marshal

go - 在函数注册表中调用 HTTP func

go - Go中不同数组类型的相同方法

javascript - MongoDB:javascript 执行失败:无法在 src/mongo/shell/collection.js 保存 DBQuery 对象

mongodb geoNear vs near

java - 继续玩框架 - 我在这里犯了什么愚蠢的错误?

node.js - NodeJS : Dynamic form

添加额外约束时,MySQL 停止使用索引

MongoDb geoIntersects 不使用 IndexOnly

MYSQL 匹配反对