sql >> データベース >  >> NoSQL >> MongoDB

golangとmgoライブラリを使用してmongodbでテキストインデックスを作成するにはどうすればよいですか?

    これはドライバーでサポートされています。 $text:fieldのように、「テキスト」としてインデックス付けされるフィールドを定義するだけです。 。

    完全なリスト:

    import (
      "labix.org/v2/mgo"
    )
    
    func main() {
    
      session, err := mgo.Dial("127.0.0.1")
      if err != nil {
        panic(err)
      }
    
      defer session.Close()
    
      session.SetMode(mgo.Monotonic, true)
    
      c := session.DB("test").C("texty")
    
      index := mgo.Index{
        Key: []string{"$text:name", "$text:about"},
      }
    
      err = c.EnsureIndex(index)
      if err != nil {
        panic(err)
      }
    
    }
    

    モンゴシェルから見たときにどれが得られますか:

    > db.texty.getIndices()
    [
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "name" : "_id_",
                "ns" : "test.texty"
        },
        {
                "v" : 1,
                "key" : {
                        "_fts" : "text",
                        "_ftsx" : 1
                },
                "name" : "name_text_about_text",
                "ns" : "test.texty",
                "weights" : {
                        "about" : 1,
                        "name" : 1
                },
                "default_language" : "english",
                "language_override" : "language",
                "textIndexVersion" : 2
        }
    ]
    



    1. Mongoid3クライアントでSSL/TLSを有効にする方法は?

    2. MongoDBマルチキーインデックスとインデックス交差境界

    3. Mongo DB:Ubuntuでシャーディングクラスターを作成できません

    4. MongoDBジャーナルファイルの空き容量が不足しています