Rumah > Soal Jawab > teks badan
Jumlah data adalah satu juta, tidak terlalu besar Terdapat medan dengan panjang nilai > 100, yang sangat panjang, termasuk bahasa Cina, Inggeris, dan hampir semua aksara. Pengindeksan teks penuh digunakan, tetapi ia tidak sesuai:
1. Carian sangat perlahan, walaupun menggunakan indeks.
db.tests.find({'$text':{'$search':'test'}})
2 Apabila mencari '', ia akan ditukar kepada '', tetapi tidak akan ada pantulan, seolah-olah ia tidak berjalan sama sekali. Keluar berulang kali, buka semula (merujuk kepada mongo pelanggan) dan tanya semula. Ia akan mengisi memori (12G, kecuali sistem boleh menggunakan 11G) dan membekukan terus. But semula keras.
db.tests.find({'$text':{'$search':'test.06'}}) #想要的。
但是通过web输入会变成
db.tests.find({'$text':{'$search':'test\1.06'}})
Saya tertanya-tanya adakah pengindeksan sesuai untuk keperluan seperti ini?
Terima kasih
高洛峰2017-05-31 10:37:52
Pada masa ini disyorkan untuk menggunakan enjin carian khusus untuk pengindeksan teks penuh Walaupun MongoDB menyokong pengindeksan teks penuh, fungsinya tidak begitu kaya, senario penggunaan adalah terhad, dan terdapat masalah dalam banyak kes, jadi ia tidak. disyorkan.