MongoDB рдореЗрдВ рдкреВрд░реНрдг рдкрд╛рда рдЦреЛрдЬ

рдпрд╣ рд▓реЗрдЦ MongoDB рд╕рдВрд╕реНрдХрд░рдг 2.4 - рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рдЕрдиреБрд╡рд╛рдж рд╣реЛрдЧрд╛, рдЬреЛ рд╕рдВрдпреЛрдЧрд╡рд╢, рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЦрдВрдбрд┐рдд рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдБрдХрд┐ рдпрд╣ рдореБрдЭреЗ рдПрдХ рдкреВрд░реНрдг рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд▓рдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ MongoDB рдХреА рддреБрд▓рдирд╛ рдПрдХ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд╛рда рдЦреЛрдЬ рдХрд╛рд░реНрдпрдХреНрд░рдо - рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореЗрд░реА рддреБрд▓рдирд╛ рдмрд╣реБрдд рд╕рддрд╣реА рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдореИрдВ 16 рдорд┐рд▓рд┐рдпрди рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреМрди рддреЗрдЬ рд╣реИред

рдЫрд╡рд┐



рдпрджрд┐ рдЖрдк рдПрдХ рддреБрд▓рдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдЧреЛ рдореЗрдВ рдПрдХ рдкрд╛рда рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓реЗ, рдПрдХ рдореЛрдВрдЧ рдореЗрдВ рдкрд╛рда рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рднреА рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЦреБрдж рдХреЛ рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЦреЛрдЬреЛрдВ рдХрд╛ рдореБрдЦреНрдп рджреЛрд╖ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдФрд░ рдЧреИрд░-рддреБрдЪреНрдЫ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЬрдм рд╕реВрдЪрдХрд╛рдВрдХ рдиреЗ рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдХреЗ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рдХрдИ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдерд╛, рддреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рд╢рдмреНрджреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реЗ рдмрдирд╛ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЗрд╕ рдЦрд╛рдореА рд╕реЗ рдмрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рдерд╛ред
рдЕрдм рдПрдХ рддреНрд╡рд░рд┐рдд рдкрд╛рда рдЦреЛрдЬ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рдПрдХ рдирд┐рд╡реЗрджрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдпрдВ рд╕реНрдЯреЙрдк рд╢рдмреНрдж рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЯреЛрдХрди рдмрдирд╛рддрд╛ рд╣реИ, рдореБрджреНрд░рд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЪрд┐рдкрдХрд╛рддрд╛ рд╣реИред рд╕реНрдЯреЗрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдкреЛрд░реНрдЯрд░ рд╕реНрдЯреАрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдЯреЙрдк рд╢рдмреНрджреЛрдВ рдХреА рд╕реВрдЪреА рдЬреАрдердм рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП ред
рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА:
рдбреЗрдирд┐рд╢
рдбрдЪ
рдЕрдВрдЧреНрд░реЗрдЬрд╝реА
рдлрд┐рдирд┐рд╢
рдлреНрд░реЗрдВрдЪ
рдЬрд░реНрдорди
рд╣рдВрдЧреЗрд░реА
рдЗрддрд╛рд▓рд╡реА
norwegian
рдкреБрд░реНрддрдЧрд╛рд▓реА
рд░реЛрдорд╛рдирд┐рдпрд╛рдИ
рд░реВрд╕реА
рд╕реНрдкреЗрдирд┐рд╢
рд╕реНрд╡реАрдбрд┐рд╢
рддреБрд░реНрдХреА


рдЪрд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
db.text.runCommand( "text" , { search: "",project:{text:1,_id:0},limit: 3 } ) 

рдкрд░рд┐рдгрд╛рдо
 { "queryDebugString" : "||||||", "language" : "russian", "results" : [ { "score" : 1, "obj" : { "text" : "     ;     " } }, { "score" : 0.85, "obj" : { "text" : "        ;         " } }, { "score" : 0.8333333333333334, "obj" : { "text" : "  ,  ,  -  ,     ,         " } } ], "stats" : { "nscanned" : 168, "nscannedObjects" : 0, "n" : 3, "nfound" : 3, "timeMicros" : 320 }, "ok" : 1 } 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЛрдВрдЧреЛ рдиреЗ рдРрд╕реЗ рд╡рд╛рдХреНрдп рдкрд╛рдП рдЬрд╣рд╛рдВ рд╢рдмреНрдж "рддрд▓рд╡рд╛рд░" рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рдПрдХ рд╡рд╛рдХреНрдп рднреА рдерд╛ рдЬрд╣рд╛рдВ "рддрд▓рд╡рд╛рд░" рд╢рдмреНрдж рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдерд╛ред

рдкрд╛рда рдЦреЛрдЬ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рдкрд╛рда рдЦреЛрдЬ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдг рдореЛрдб рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореЛрдВрдЧреЙрдб рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 mongod --setParameter textSearchEnabled=true 


рдЯреЗрдХреНрд╕реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдПрдВ


рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЖрджреЗрд╢:
 db.collection.ensureIndex( {subject: "text", content: "text"} ) 

рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЪрдпрдирд┐рдд рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╡рд┐рд╖рдп рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рднреА рдкрд╛рда рдЕрдиреБрдХреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ default_language рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 db.collection.ensureIndex( { content : "text" }, { default_language: "russian" }) 

рдпрд╣ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдЙрд╕ рднрд╛рд╖рд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ
рдЖрдк рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред
рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдХрдорд╛рдВрдб рдЬреЛ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╡рдЬрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рдЬрди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛:
 db.blog.ensureIndex( {content: "text",keywords: "text", about: "text"}, {weights: { content: 10,keywords: 5, },name: "TextIndex" }) 

рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВред

рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдЦреЛрдЬреЗрдВ


рдПрдХ рдирдпрд╛ рдЖрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдкрд╛рда рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - "рдкрд╛рда":
 db.collection.runCommand( "text", { search: "" } ) 

"рдЯреЗрдХреНрд╕реНрдЯ" рдПрдХ рдХрдорд╛рдВрдб рд╣реИ, "рддрд▓рд╡рд╛рд░" рдПрдХ рдЦреЛрдЬ рд╢рдмреНрдж рд╣реИ

рдпрджрд┐ рдЖрдк рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрдИ рд╢рдмреНрдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рддрд╛рд░реНрдХрд┐рдХ рдпрд╛ рдСрдкрд░реЗрдЯрд░ (рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдирд╣реАрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк) рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреБрдХреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ

рджрд┐рдП рдЧрдП рд╢рдмреНрдж рдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдЯреАрдХ рдорд┐рд▓рд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 db.quotes.runCommand( "text", { search: "\" \"" } ) 


рдпрджрд┐ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдЧреНрд░рдВрдереЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдХреНрд╡реЗрд░реА рдореЗрдВ рдЗрд╕ рд╢рдмреНрдж рд╕реЗ рдкрд╣рд▓реЗ "-" рдбрд╛рд▓рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 db.quotes.runCommand( "text" , { search: " -" } ) 


рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рд╕реАрдорд╛ рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:
 db.quotes.runCommand( "text", { search: "tomorrow", limit: 2 } ) 


рд▓реМрдЯреЗ рдлрд╝реАрд▓реНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
 db.quotes.runCommand( "text", { search: "tomorrow", project: { "src": 1 } } ) 


рджрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 db.quotes.runCommand( "text", { search: "tomorrow", filter: { speaker : "macbeth" } } ) 

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА

рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛


рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдХреЛрд╖реНрдардХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
 { "queryDebugString" : "||||||||", "language" : "russian", "results" : "score" : 1.25, "obj" : { "text" : "-   " "score" : 0.9166666666666667, "obj" : { "text" : "        ,       " "score" : 0.8863636363636365, "obj" : { "text" : "        тАж -     " "stats" : { "nscanned" : 145, "nscannedObjects" : 0, "n" : 3, "nfound" : 3, "timeMicros" : 155 }, "ok" : 1 } 

рдпрд╣рд╛рдВ:
queryDebugString - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдпрд╣ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпреЗ рд╢рдмреНрдж рд╕реНрдЯреЗрдорд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдХреЗ рд╢рдмреНрдж рд╣реИрдВ
рднрд╛рд╖рд╛ - рд╡рд╣ рднрд╛рд╖рд╛ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдкрд░рд┐рдгрд╛рдо - рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪреА
рд╕реНрдХреЛрд░ - рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдХреИрд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
рдЖрдБрдХрдбрд╝реЗ рд╢рдмреНрджрдХреЛрд╢ - рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА
nscanned - рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рддрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ
nscannedObjects - рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ (рдпрд╣ рдЫреЛрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░, рдмреЗрд╣рддрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
n рд▓реМрдЯреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ
nfound - рдореИрдЪреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
timeMicros - рдЦреЛрдЬ рдЕрд╡рдзрд┐ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА

рдкрд╛рда рдЦреЛрдЬ рдмрдирд╛рдо $ рд░реЗрдЧреЗрдХреНрд╕ + рдЗрдВрдбреЗрдХреНрд╕


 db.text.runCommand( "text" , { search: "",project:{text:1,_id:0}} ).stats { "nscanned" : 77, "nscannedObjects" : 0, "n" : 77, "nfound" : 77, "timeMicros" : 153 } db.text2.find( { text: { $regex: ''} }).explain(); { "cursor" : "BtreeCursor text_1 multi", "n" : 5, "nscannedObjects" : 5, "nscanned" : 15821, "nscannedObjectsAllPlans" : 5, "nscannedAllPlans" : 15821, "indexOnly" : false, "millis" : 31, "indexBounds" : { "text" : [["",{}], [ //, // ] ] }, } 

рдкрд╛рда рдФрд░ text2 рдЯреЗрдмрд▓ рд╕рдорд╛рди рд╣реИрдВ:
рдЙрдирдХреЗ рдЖрдБрдХрдбрд╝реЗ
> db.text.stats ()
{
"рдПрдирдПрд╕": "text_test.text",
"рдХрд╛рдЙрдВрдЯ": 15821,
"рдЖрдХрд╛рд░": 3889044,
"рдПрдХреНрд╕рдкреНрд░реЗрд╕рдмрдЬрд╛рдЗрдЬ": 245.8153087668289,
"рд╕реНрдЯреЛрд░реЗрдЬрд╛рдЗрдЬрд╝": 6983680,
"рд╕рдВрдЦреНрдпрд╛рдПрдБ": 5,
"рдирд┐рдВрдбреЗрдХреНрд╕": 2,
"LastExtentSize": 5242880,
"рдкреИрдбрд┐рдВрдЧрдлрд╝реИрдХреНрдЯрд░": 1,
"SystemFlags": 0,
"UserFlags": 1,
"TotalIndexSize": 7358400,
"IndexSizes": {
"_id_": 523264,
"рдЯреЗрдХреНрд╕реНрдЯ_рдЯреЗрдХреНрд╕реНрдЯ": 6835136
}
"рдареАрдХ рд╣реИ": 1
}
> db.text2.stats ()
{
"рдПрдирдПрд╕": "text_test.text2",
"рдХрд╛рдЙрдВрдЯ": 15821,
"рдЖрдХрд╛рд░": 2735244,
"рдПрдХреНрд╕рдкреНрд░реЗрд╕рдмрдЬрд╛рдЗрдЬ": 172.886922424448518,
"рд╕реНрдЯреЛрд░реЗрдЬрд╛рдЗрдЬрд╝": 5591040,
"рд╕рдВрдЦреНрдпрд╛рдПрдБ": 6,
"рдирд┐рдВрдбреЗрдХреНрд╕": 2,
"LastExtentSize": 4194304,
"рдкреИрдбрд┐рдВрдЧрдлрд╝реИрдХреНрдЯрд░": 1,
"SystemFlags": 0,
"UserFlags": 0,
"TotalIndexSize": 3008768,
"IndexSizes": {
"_id_": 523264,
"рдЯреЗрдХреНрд╕реНрдЯ_1": 2485504
}
"рдареАрдХ рд╣реИ": 1
}
рдЕрдВрддрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЦреЛрдЬ 31 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдкрд╛рда рд╕реВрдЪрдХрд╛рдВрдХ 151 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдореЗрдВ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 200 рдЧреБрдирд╛ рдХрдо рд╣реИред

MongoDB рдмрдирд╛рдо рд╕реНрдлрд┐рдВрдХреНрд╕


рддреБрд▓рдирд╛ рдЙрдмрдВрдЯреВ 12.10 рдУрдПрд╕ (рдХреЛрд░ i5, 8 рдЬреАрдмреА рд░реИрдо, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ (рдмрд┐рдирд╛ рдЫрд╛рдкреЗ рдХреЗ рдмрд┐рдирд╛)) рдкрд░ рдХреА рдЧрдИ рдереАред рдЙрдореНрдореАрджрд╡рд╛рд░: MongoDM 2.4.1 рдФрд░ рд╕реНрдлрд┐рдВрдХреНрд╕ 2.0.6ред рдореЛрдВрдЧ рдФрд░ рдорд╛рдИрд╕рдХреНрд▓ рдореЗрдВ, рдлреЙрд░реНрдо рдЖрдИрдбреА, рдкрд╛рда рдХреЗ рдЯреЗрдмрд▓ рдмрдирд╛рдП рдЧрдП рдереЗред рдЯреЗрдмрд▓ рд╕рдорд╛рди рдереЗ рдФрд░ 16 рдорд┐рд▓рд┐рдпрди рд░рд┐рдХреЙрд░реНрдб рдереЗред рдореЛрдВрдЧ рдореЗрдВ рдПрдХ рдкрд╛рда рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╛рда рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рднреА рд╕реНрдлрд┐рдВрдХреНрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕реНрдЯреЙрдк рд╡рд░реНрдб рд╢реАрдЯ рдФрд░ рд╕реНрдЯреЗрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рд╛рдорд┐рд▓ рдереЗред рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рд╕реНрдлрд┐рдВрдХреНрд╕рдкреА рдФрд░ рдкрд╛рдЗрдореЛрдиреНрдЧреЛред

рдкрд░реАрдХреНрд╖рдг рдПрдХ рдореЗрдЬ рдореЗрдВ рдПрдХ рд╣рдЬрд╛рд░ рд╢рдмреНрдж рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдЗрд╕реЗ "рд╡рд╛рд░реНрдорд┐рдВрдЧ рдЕрдк" рдФрд░ рдХрдИ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕реНрдлрд┐рдВрдХреНрд╕ рдореЗрдВ, рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереАрдВ, рдХреЗрд╡рд▓ рд╕реНрдЯрд┐рдорд┐рдВрдЧ, рд╕реНрдЯреЙрдк рд╢рдмреНрдж рдФрд░ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ, 2.2 рдЬреАрдмреА рдиреЗ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, 2.5 рдЬреАрдмреА рдиреЗ рдореИрдВрдЧреЛ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЛрдВрдЧреЛ рд╣рд╛рд░ рдЬрд╛рддрд╛ рд╣реИред рдУрдкреА рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рд░рдг, рдореЛрдВрдЧреЛ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреВрд╕рд░реА рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдЧреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдЯреЗрд╕реНрдЯ рд░рди рдкрд░, рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдЕрднреА рддрдХ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╡реНрдпрд╕реНрдд рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рднреА, рдореЛрдВрдЧреЛ 20 рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдзреАрдорд╛ рд╣реИред

рдЬрдм рдЫреЛрдЯреЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдВрддрд░ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ 10 рдЧреБрдирд╛ рд▓рд╛рдн рдореЗрдВ рдЕрднреА рднреА рд╣реИред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдореЛрдВрдЧ рдореЗрдВ рдкрд╛рда рд╕реВрдЪрдХрд╛рдВрдХ рдЕрдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдкрд╛рда рдХреА рдЦреЛрдЬ рдореЗрдВ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдорд╛рд░реНрдЬрд┐рди рдХреЗ рд╕рд╛рде, рд╕реНрдлрд┐рдВрдХреНрд╕ рдЬреАрдд рдЬрд╛рддрд╛ рд╣реИред
рдорд╛рдирдЧреЛ рдХреА рд░рдХреНрд╖рд╛ рдореЗрдВ, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐:


рдирдпрд╛ MongoDB рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢рдХреНрддрд┐ рдХреЗ рд╕рдВрддреБрд▓рди рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

Source: https://habr.com/ru/post/In174457/


All Articles