Jika terdapat indeks biasa, pertanyaan dengan awalan tetap boleh menggunakan indeks. Tetapi saya tidak tahu apa yang bermula dengan kaedah yang anda bincangkan Jika ia ada dalam pemandu, ia bergantung pada pemandu dan apa yang dikatakan oleh dokumentasinya. Awalan tetap yang saya maksudkan ialah padanan ungkapan biasa bermula dengan ^, seperti:
db.collection.find({name: /^张/})
Jika anda melihat rancangan pelaksanaan, anda boleh melihat IX_SCAN:
db.collection.find({name: /^张/}).explain(true)
Indeks teks penuh adalah perkara lain. Ringkasnya, anda tidak perlu mempertimbangkan sama ada awalan adalah tetap, tetapi unit asas indeks teks penuh ialah 词, bukan perkataan. Jadi perenggan berikut:
Divisyen Pertama ialah sekolah yang bagus
Apabila mencari, anda boleh mencari terus perkataan yang anda inginkan, seperti:
db.collection.find({ $text: { $search: "好学校" } })
Tetapi anda mungkin tidak dapat menemuinya jika anda terus mencari "sekolah":
Sudah tentu, ini berkaitan dengan cara pembahagian enjin pembahagian perkataan yang berbeza Contohnya hanya untuk menggambarkan batasan pengindeksan teks penuh. Selain itu, artikel, pengkuantiti dan perkataan lain yang tidak mempunyai makna sebenar juga akan ditapis, seperti "personaliti":
Selain itu, anda juga mungkin mendapati bahawa pertanyaan di atas tidak menyebut medan name sama sekali, kerana hanya terdapat satu indeks teks penuh pada koleksi.
Jika terdapat indeks biasa, pertanyaan dengan awalan tetap boleh menggunakan indeks. Tetapi saya tidak tahu apa yang bermula dengan kaedah yang anda bincangkan Jika ia ada dalam pemandu, ia bergantung pada pemandu dan apa yang dikatakan oleh dokumentasinya. Awalan tetap yang saya maksudkan ialah padanan ungkapan biasa bermula dengan
^
, seperti:Jika anda melihat rancangan pelaksanaan, anda boleh melihat
IX_SCAN
:Indeks teks penuh adalah perkara lain. Ringkasnya, anda tidak perlu mempertimbangkan sama ada awalan adalah tetap, tetapi unit asas indeks teks penuh ialah
词
, bukan perkataan. Jadi perenggan berikut:Apabila mencari, anda boleh mencari terus perkataan yang anda inginkan, seperti:
Tetapi anda mungkin tidak dapat menemuinya jika anda terus mencari "sekolah":
Sudah tentu, ini berkaitan dengan cara pembahagian enjin pembahagian perkataan yang berbeza Contohnya hanya untuk menggambarkan batasan pengindeksan teks penuh.
Selain itu, artikel, pengkuantiti dan perkataan lain yang tidak mempunyai makna sebenar juga akan ditapis, seperti "personaliti":
Selain itu, anda juga mungkin mendapati bahawa pertanyaan di atas tidak menyebut medan
name
sama sekali, kerana hanya terdapat satu indeks teks penuh pada koleksi.