MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara membuat indeks teks di mongodb dengan golang dan perpustakaan mgo?

Ini didukung di driver. Yang perlu Anda lakukan adalah menentukan bidang Anda untuk diindeks sebagai "teks" seperti di $text:field .

Dalam daftar lengkap:

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)
  }

}

Yang jika dilihat dari cangkang mongo akan memberikan:

> 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb beberapa agregasi dalam satu operasi

  2. Menyimpan dengan Java springdata dokumen mongoDB dengan array yang dibatasi ($slice dan $sort)

  3. Ganti Nama Bidang di Hasil Kueri di MongoDB

  4. Meteor, tentukan koleksi secara dinamis

  5. Permintaan MongoDB sederhana sangat lambat meskipun indeks disetel