рдЧреНрд░рд┐рд▓реНрд╕ рдореЗрдВ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдЖрд╕рд╛рди рдХрд╛рдо рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдПрдХ рдЧреНрд░реЗрд▓реНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рднреА рдПрдВрдЯреЗрдирд╛ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕реЗрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИред рдЦреЛрдЬ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЖрдкрдХреЛ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдХреНрд░рдордг рдФрд░ рдЦреЛрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдкреНрд▓рдЧ-рдЗрди рд╕реНрд╡рдпрдВ
рдХрдореНрдкрд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдмрджрд▓рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрдЪрдд рд╣реЛрддреА рд╣реИ), рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░реАрдВрдбреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдХрдореНрдкрд╛рд╕ рд╕реНрд╡рдпрдВ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА "рдЦреЛрдЬ рдУрдЖрд░рдПрдо" рдЙрдкрдХрд░рдг рд╣реИ:
- рдирд┐рдореНрдирддрдо рд╕реНрддрд░ рдкрд░ рдХрдореНрдкрд╛рд╕ рд▓реНрдпреВрд╕реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рдеред
- рдкреНрд░рддреНрдпреЗрдХ рдбреЛрдореЗрди рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдПрдХ рд▓реНрдпреБрд╕рд┐рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рддрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред
- рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдлрд╝реАрд▓реНрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред
- рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рдХрдореНрдкрд╛рд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рддрд╛ (рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ)ред
- рдХрдореНрдкрд╛рд╕ рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕реЗ рдЦреЛрдЬ рдпреЛрдЧреНрдп рдШрдЯрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдВрдХ (рдЦреЛрдЬ рдпреЛрдЧреНрдп рд╕рдВрджрд░реНрдн)ред рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдХрдореНрдкрд╛рд╕ рд▓реЗрдирджреЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред
рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ; рдЧреНрд░реЗрд▓реНрд╕ рдбреЛрдореЗрди рд╡рд░реНрдЧ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
class Post { static searchable = { category index: 'not_analyzed', excludeFromAll: true title boost: 2.0 comments component: true } static hasMany = [comments: Comment] User author String title, post, category Date createdAt }
рдЕрдм рд╕рднреА рдирдП рдмрдирд╛рдП рдЧрдП рдкреЛрд╕реНрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝реЙрд░реНрдо рдХреА рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
Post.search(" ")
рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рд╕рд╛рд░ рд╣реЛрдЧрд╛! рдЖрдк рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ Lucene рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЕрднреА рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмреЗрдЪрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рд╡реЗ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЙрдкрдЬреА рд╣реИрдВ рдХрд┐ рдХрдореНрдкрд╛рд╕ рдПрдХ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдФрд░ рдмрд╣реБрдореБрдЦреА рдЙрддреНрдкрд╛рдж рд╣реИ рдЬреЛ рд▓реНрдпреВрд╕рд┐рди рдФрд░ рдЕрдиреНрдп рдЦреЛрдЬ рдЗрдВрдЬрди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦрдХ рдХреЛ рдпрд╣ рд╕рдм рдХреЛрдб рдЖрдЧреЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓реЗрдЦрдХ, Shay Banon, рдиреЗ рдХреБрдЫ рдХрдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди
рдХреВрд▓рд░ -
ElasticSearch рдЦреЛрдЬ рдЗрдВрдЬрдиред
ElasticSearch:
- Lucene 3 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ
- рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдФрд░ рд╕рд╕реНрддреА рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред
- рдЗрд╕рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рдореИрдХреЗрдирд┐рдЬреНрдо рд╣реЛрддрд╛ рд╣реИ (рд╡реИрд╕реЗ, рд╕реЛрд▓рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд)ред
рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдЦреЛрдЬ рдХрдореНрдкрд╛рд╕ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, ElasticSearch JSON рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рднрдВрдбрд╛рд░ рд╣реИред рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдкреНрд░реЛрд╕реЗрд╕ рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрджрд┐ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░ рд╕рдХрддреА рд╣реИред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдпрд╣ рдЦреЛрдЬ рдХрд░рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИред рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рднреА JSON рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИ рдФрд░ "рдирдВрдЧреЗ" рд▓реНрдпреВрд╕реАрди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
рдХрдореНрдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рдорд╛рдзрд╛рди рд╣реИред ElasticSearch рдХреЗ рд▓рд┐рдП, рдпрд╣ рджреЛрдиреЛрдВ рдПрдореНрдмреЗрдбреЗрдб (JVM рдХреЗ рдЕрдВрджрд░) рдФрд░ HTTP рдбреЗрдореЙрди рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ JSON рдЬрд╛рдирддрд╛ рд╣реИ, рд╡рд╣ ElasticSearch рдбреЗрдореЙрди рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ PHP рдХреЛрдб, рдЬрд╛рд╡рд╛, рд░реВрдмреА рдпрд╛ .NET рд╣реЛред
рдЬреЛ рд▓реЛрдЧ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреМрди рд╕рд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдЪрд┐рддреНрд░ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

рдпрд╣рд╛рдБ рдЖрдк рддреАрди рд╕реНрддрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рдИрдВ рдУрд░ рдХрдореНрдкрд╛рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреИрдХ рд╣реИред рджрд╛рдИрдВ рдУрд░ ElasticSearch рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕реНрдЯреИрдХ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЧреНрд░рд┐рд▓реНрд╕ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рд╡рд┐рддрд░рдг рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдореНрдкрд╛рд╕ рдЬрд╛рд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд▓реНрдпреВрд╕реАрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ElasticSearch рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
рдЙрди рджреБрд░реНрднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдм рдХреНрдпрд╛ рдЪрдордХ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЦреЛрдЬрд╛ (рдФрд░ рдпреЗ рд╣рдо рднреА рдереЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
- рдЦреЛрдЬрд╛ рдЕрдм рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рд╕реНрдерд┐рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡рд╣ рд╣реИ - рдмрдЧ рдлрд┐рдХреНрд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВред
- рдХрдореНрдкрд╛рд╕ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд▓реНрдпреВрд╕рд┐рдиреЗ 3 рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡рд░реНрдЬрди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
- рд▓реВрд╕рд┐рди 3 рдирд╣реАрдВ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИрдВред рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЖрдХреГрддрд┐ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╕реБрдзрд╛рд░ред
рдЕрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдХреНрд░рдордг рдХрд╛рд▓ тАЛтАЛрд╣реИ рдЬрдм:
- рдЦреЛрдЬ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрд╛рдпрдм рд╣реИ;
- ElasticSearch рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрднреА рддрдХ рдареАрдХ рд╕реЗ Grails рдореЗрдВ рдПрдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЗрдВ рдЦреБрдж рд╕реЗ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдореИрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рдХреНрдпрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ? рдЕрдм, рдЗрдВрдЯрд░рдиреЗрдЯ рдХреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ, ElasticSearch рдХреЗ рд▓рд┐рдП рдПрдХ
рдирдпрд╛ Grails рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:
- рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрддрдо рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдЧрддрддрд╛
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ (рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ ElasticSearch рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ (рд╕реНрдерд╛рдкрд┐рдд - рд▓реЙрдиреНрдЪ)ред
рдкреНрд▓рдЧрдЗрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рд╣рдореЗрдВ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЕрдм рд╣рдо рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдкреНрд▓рдЧрдЗрди рдХрд╣рд╛рдБ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?
рдореЗрд░реА рд╢рд╛рдЦрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдмреЗрд╣рддрд░ рд╣реИ :-) - рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рд╣рдорд╛рд░реЗ рдЧреНрд░реЗрд▓реНрд╕-рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдордп-рд╕рдордп рдкрд░, рдореЗрд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЗрд░реА рд╣реЛрддреА рд╣реИред
рдЖрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ Github рд╕реЗ рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рдпрджрд┐ рдЖрдкрдХреЛ рдЧрд┐рдЯ рдФрд░ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдлрд╝рд┐рджрд╛рд▓рд┐рдВрдЧ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд▓рдЧрдЗрди рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
grails install-plugin https://github.com/downloads/spn/elasticsearch-grails-plugin/grails-elasticsearch-0.14.2.2.zip
- рдпрджрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИ:
wget https://github.com/spn/elasticsearch-grails-plugin/tarball/master tar xvzf spn-elasticsearch-grails-plugin-3fde6c4.tar.gz cd spn-elasticsearch-grails-plugin-3fde6c4 grails package-plugin
- рд╕рдорд╛рди рдкреИрдХреЗрдЬреНрдб рдкреНрд▓рдЧрдЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдЬреАрдердм рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо)
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЖрдкрд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВред рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП - рдкреНрд▓рдЧрдЗрди рд╣реА рдкрд╛рда рдЧреНрд░рд┐рд▓реНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдЯрд╛рдЗрдк рдХрд░реЗрдВ
grails run-app
рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВред