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

时间:2019-03-26 11:14:41

标签: 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

1 个答案:

答案 0 :(得分:0)

您需要在至少1个字段上输入text index,查询才能起作用。 尝试在任何字段上创建文本索引,然后重试