текстовый индекс mongo-go-driver (IndexNotFound), необходимый для запроса $ text - PullRequest
0 голосов
/ 26 марта 2019

Я использую 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 голосов
/ 26 марта 2019

Вам нужно иметь text index в поле по крайней мере 1, чтобы запрос работал.Попробуйте создать текстовый индекс для любого поля и повторите попытку

...