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

Percepat pencarian string regex di MongoDB

Salah satu kemungkinannya adalah menyimpan semua varian yang menurut Anda mungkin berguna sebagai elemen array — meskipun tidak yakin apakah itu mungkin!

    {
        "number" : "pl",
        "surface_form" : "skrejjen",
        "surface_forms: [ "skrej", "skre" ],
        "phonetic" : "'skrɛjjɛn",
        "pattern" : "CCCVCCVC"
    }

Saya mungkin juga menyarankan untuk tidak menyimpan 1000 bentuk kata dengan setiap kata, tetapi balikkan ini untuk memiliki dokumen yang lebih kecil. Semakin kecil dokumen Anda, semakin sedikit MongoDB yang harus membaca ke dalam memori untuk setiap pencarian (tentu saja selama kondisi pencarian tidak memerlukan pemindaian penuh):

{
    "word": {
        "pos" : "N",
        "lemma" : "skrun",
        "gloss" : "screw",
    },
    "form" : {
        "number" : "sg",
        "surface_form" : "skrun",
        "phonetic" : "ˈskruːn",
        "gender" : "m"
    },
    "source" : "Mayer2013"
}

{
    "word": {
        "pos" : "N",
        "lemma" : "skrun",
        "gloss" : "screw",
    },
    "form" : {
        "number" : "pl",
        "surface_form" : "skrejjen",
        "phonetic" : "'skrɛjjɛn",
        "pattern" : "CCCVCCVC"
    },
    "source" : "Mayer2013"
}

Saya juga ragu bahwa MySQL akan berkinerja lebih baik di sini dengan mencari bentuk kata acak karena harus melakukan pemindaian tabel penuh seperti halnya MongoDB. Satu-satunya hal yang dapat membantu adalah cache kueri - tetapi itu adalah sesuatu yang dapat Anda bangun di UI/API penelusuran di aplikasi Anda dengan cukup mudah tentunya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara $ Push bidang tergantung pada suatu kondisi?

  2. Apa itu mode ketat MongoDB dan apakah itu ide yang bagus untuk digunakan?

  3. panggil koleksi mongo menggunakan variabel

  4. Meminta mongodb dari golang menggunakan _id yang disimpan dalam array

  5. Gunakan variabel javascript sebagai nilai $regex dalam kueri MongoDB