рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рдлрд╛рд╕реНрдЯ рдлреБрд▓ рдЯреЗрдХреНрд╕реНрдЯ рд╕рд░реНрдЪ

рдЫрд╡рд┐
рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╕рд╛рдЗрдЯреЛрдВ рдпрд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЕрдХреНрд╕рд░ рдПрдХ рддреЗрдЬ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:


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

рдЖрдЬ, рдРрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдореИрдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдиреАрдЪреЗ рджреА рдЧрдИ рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдордд рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭреЗрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ рдЖрдВрджреНрд░реЗрдИ рдЬрд╝рдореАрд╡рд╕реНрдХреА (рдЖрдВрджреНрд░реЗрдИ рдЬрд╝рдорд┐рд╡реНрд╕реНрдХреА) рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдЖрдпрд╛, рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдкреНрд░рд╕реНрддреБрддрд┐ рдпрд╣рд╛рдВ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ http://www.elasticsearch.org/

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рд░реВрд╕реА рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реАред

рдпрд╣ рдХреНрдпрд╛ рд╣реИ?


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рдд рд▓реНрдпреВрд╕реАрди рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдПрдХ рдирдпрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╣реИред рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ рд▓рдЪреАрд▓рд╛рдкрди рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИред рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░рдирд╛ рд╕рд░рд▓ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг


рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдФрд░ рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЪрдорддреНрдХрд╛рд░ рдЗрдВрдЬрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ

рд╕реНрдерд╛рдкрдирд╛

	 1. рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (http://www.elasticsearch.org/download/) рдФрд░ рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
	 2. рд╣рдо рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ 
		 рдпреВрдирд┐рдХреНрд╕: рдмрд┐рди / рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕рдЦреЛрдЬ -рдл
		 рд╡рд┐рдВрдбреЛрдЬ: рдмрд┐рди / elasticsearch.bat
	 3. рд╕рд░реНрд╡рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ 
		 рдХрд░реНрд▓ -X рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ http: // localhost: 9200 /
	 рдпрджрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде JSON рд╕рд░рдгреА рд▓реМрдЯрд╛рдПрдЧрд╛ред

рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдордг

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рд╣рдмреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдПрдВрдЧреЗ

рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ
 $ рдХрд░реНрд▓ -XPUT 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / 1' -d '
 { 
  "рдлрд░реНрд╕реНрдЯрдирд╛рдо": "рдкрд┐рдУрдЯреНрд░",
  "рдЙрдкрдирд╛рдо": "рдкреЗрдЯреНрд░реЛрд╡",
  "рдЬрдиреНрдорддрд┐рдерд┐": "1981-01-01",
   "рд╕реНрдерд╛рди": "рдорд╛рд╕реНрдХреЛ, рд░реВрд╕реА рд╕рдВрдШ",
  "рдХреМрд╢рд▓": ["PHP", "HTML", "C ++", ".NET", "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ"]
 } '

рджреВрд╕рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ
 $ рдХрд░реНрд▓ -XPUT 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / 2' -d '
 { 
  "Firstname": "рдЗрд╡рд╛рди",
  "рдЙрдкрдирд╛рдо": "рд╕рд┐рджреЛрд░реЛрд╡",
  "рдЬрдиреНрдорддрд┐рдерд┐": "1978-12-13",
   "рд╕реНрдерд╛рди": "рдмреНрд░рд╛рдВрд╕реНрдХ, рд░реВрд╕реА рд╕рдВрдШ",
  "рдХреМрд╢рд▓": ["HTML", "рд░реВрдмреА", "рдкрд╛рдпрдерди"]
 } '

рдПрдХ рддреАрд╕рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ
 $ рдХрд░реНрд▓ -XPUT 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / 3' -d '
 { 
  "рдлрд░реНрд╕реНрдЯрдиреЗрдо": "рд╕реНрдЯреЗрдкрди",
  "рдЙрдкрдирд╛рдо": "рдлреЛрдореЗрдВрдХреЛ",
  "рдЬрдиреНрдорддрд┐рдерд┐": "1985-06-01",
   "рд╕реНрдерд╛рди": "рдпреВрдХреНрд░реЗрди",
  "рдХреМрд╢рд▓": ["HTML", "XML", "рдЬрд╛рд╡рд╛", "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ"]
 } '

рдЦреЛрдЬ: рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

рдЖрдкрдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд░рд▓ рдЦреЛрдЬ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЗрдВрдЬрди рдЕрдкрдиреЗ рдирд╛рдо "рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ" рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд╕рдВрдЧрдд рд╣реИ рдФрд░ рдЖрдк рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╢реНрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ www.elasticsearch.org/guide/reference/api рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ

рдкреИрд░рд╛рдореАрдЯрд░ рд╕реБрдВрджрд░ = рд╕рддреНрдп рдЙрддреНрддрд░ рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ

рдЙрджрд╛рд╣рд░рдг 1: рдЗрд╡рд╛рди рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢
 $ рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / _sport? q = firstname: рдЗрд╡рд╛рди рдФрд░ рд╕реБрдВрджрд░ = рд╕рдЪ'

рдЙрджрд╛рд╣рд░рдг 2: PHP рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдпреВрдХреНрд░реЗрди рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢
 $ рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrahabr / users / _sogn? pretty = true' -d '
 { 
     "рдХреНрд╡реЗрд░реА": { 
         "рдкрдж": {"рд╕реНрдерд╛рди": "рдпреВрдХреНрд░реЗрди", "рдХреМрд╢рд▓": "рдкреАрдПрдЪрдкреА"} 
     } 
 } '

рдЙрджрд╛рд╣рд░рдг 3: рд░реВрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢
 $ рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrauser / _search? q = рд╕реНрдерд╛рди: рд░реВрд╕реА% 20Federation рдФрд░ pretty = true'

рдЙрджрд╛рд╣рд░рдг 4: рд░реВрд╕ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрд┐рдирддреА
 $ рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrauser / _count? q = рд╕реНрдерд╛рди: рд░реВрд╕реА% 20Federation рдФрд░ pretty = true'

PS UTF8 рдареАрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ

рдЙрдЪреНрдЪ рдбреЗрдЯрд╛ рдкрд░реАрдХреНрд╖рдг


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдЦреЛрдЬ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рд▓рд┐рдП рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ 5,000,000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдбреЗрдЯрд╛ рдЬреЗрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рдирдХрд╛рд░реА рдХрдореЛрдмреЗрд╢ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд╕рдорд╛рди рд╣реИ)

<?php ini_set('max_execution_time', 36000); class userGenerator { //       private $countries = array( 'Russian Federation', 'Ukraine', 'Germany', 'France', 'Lithuania', 'Latvia', 'Poland', 'Finland', 'Sweden' ); public function run($cnt) { for ($i = 0; $i < $cnt; $i++) { $query = $this->generateQuery($i); echo "generating user " . $i . " ... "; exec($query); echo "done" . PHP_EOL; } } private function generateQuery($id) { //       1960-  $date = new DateTime('1960-01-01'); return 'curl -XPUT \'http://localhost:9200/habrahabr/users/' . $id . '\' -d \' { "id" : "' . $id . '", "firstname" : "' . ucfirst($this->generateWord(10)) . '", "surname" : "' . ucfirst($this->generateWord(10)) . '", "birthDate" : "' . $date->modify('+' . rand(0, 14600) . ' days')->format('Ym-d') . '", "location" : "' . $this->generateWord(10) . ', ' . $this->countries[array_rand($this->countries)] . '", "skills" : ["' . strtoupper($this->generateWord(3)) . '", "' . strtoupper($this->generateWord(4)) . '", "' . strtoupper($this->generateWord(3)) . '"] }\' '; } private function generateWord($length) { $letters = array( "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); $word = ''; for ($i = 0; $i < $length; $i++) { $word .= $letters[rand(0, 25)]; } return $word; } } $generator = new userGenerator(); $generator->run(5000000); echo "complete"; ?> 


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

рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
  curl -XGET 'http: // localhost: 9200 / habrahabr / users / _count? q = / &'
 {
   "рдЧрд┐рдирддреА": 5128888,
   "_рд╢реНрд░рд╛рджреНрдз": {
     "рдХреБрд▓": 5,
     "рд╕рдлрд▓": 5,
     "рд╡рд┐рдлрд▓": 0
   }


рдПрдХ рдирдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЧрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
  рд╕рдордп рдХрд░реНрд▓ -XPUT 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / 5128889' -d '
 { 
  "рдлрд░реНрд╕реНрдЯрдиреЗрдо": "рдмреЗрд╕рд┐рд▓",
  "рдЙрдкрдирд╛рдо": "рдлреЗрдбреЛрд░реЛрд╡",
  "рдЬрдиреНрдорддрд┐рдерд┐": "1975-07-11",
   "рд╕реНрдерд╛рди": "рд░реАрдЧрд╛, рд▓рд╛рддрд╡рд┐рдпрд╛",
  "рдХреМрд╢рд▓": ["рдкреЗрд░рд▓", "рдкрд╛рдпрдерди", "рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ"]
 } '
 {"рдУрдХреЗ": рд╕рдЪ, "_ рдЗрдВрдбреЗрдХреНрд╕": "рд╣рдмреНрдмрд░рдмреНрд░", "_ рдЯрд╛рдЗрдк": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛", "_ рдЖрдИрдбреА": "5128891", "_ рд╡рд░реНрдЬрди": 2}

 рд╡рд╛рд╕реНрддрд╡рд┐рдХ 0m0.007s
 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 0m0.004s
 sys 0m0.000s


рд╕реВрдЪрдирд╛ рдЦреЛрдЬ рдХреА рдЧрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
 рд╕рдордп рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / _sport? q = рд╕реНрдерд╛рди: рд░реАрдЧрд╛ рдФрд░ рд╕реБрдВрджрд░'
 {
   "рд▓рд┐рдпрд╛": 5,
   "рдЯрд╛рдЗрдордбрд╛рдЙрдЯ": рдЧрд▓рдд,
   "_рд╢рд░реНрдж": {
     "рдХреБрд▓": 5,
     "рд╕рдлрд▓": 5,
     "рд╡рд┐рдлрд▓": 0
   }
   "рд╣рд┐рдЯ": {
     "рдХреБрд▓": 1,
     "max_score": 8.854725,
     "рд╣рд┐рдЯ": [{
       "_index": "рд╣реИрдмреНрд░рд╛рд╣рд╛рдм",
       "_type": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛",
       "_id": "5128891",
       "_score": 8.854725, "_source": 
 { 
  "рдлрд░реНрд╕реНрдЯрдиреЗрдо": "рдмреЗрд╕рд┐рд▓",
  "рдЙрдкрдирд╛рдо": "рдлреЗрдбреЛрд░реЛрд╡",
  "рдЬрдиреНрдорддрд┐рдерд┐": "1975-07-11",
   "рд╕реНрдерд╛рди": "рд░реАрдЧрд╛, рд▓рд╛рддрд╡рд┐рдпрд╛",
  "рдХреМрд╢рд▓": ["рдкреЗрд░рд▓", "рдкрд╛рдпрдерди", "рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ"]
 }
     }]
   }
 }
 рдЕрд╕рд▓реА 0m0.011s
 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 0m0.004s
 sys 0m0.000s


 $ рд╕рдордп рдХрд░реНрд▓ -XGET 'http: // localhost: 9200 / habrahabr / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / _count? q = рд╕реНрдерд╛рди: рдЬрд░реНрдордиреА рдФрд░ рд╕реБрдВрджрд░'
 {
   "рдЧрд┐рдирддреА": 570295,
   "_рд╢реНрд░рд╛рджреНрдз": {
     "рдХреБрд▓": 5,
     "рд╕рдлрд▓": 5,
     "рд╡рд┐рдлрд▓": 0
   }
 }
 рд╡рд╛рд╕реНрддрд╡рд┐рдХ 0m0.079s
 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 0m0.004s
 sys 0m0.000s


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

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЗрдВрдЬрди рддреЗрдЬ, рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдЙрд╕реА Zend_Search_Lucene рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд▓рдЧрддрд╛ рд╣реИред

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

рдкреБрдирд╢реНрдЪ рдореИрдВ рдкрд╛рда рдФрд░ рд╢рд░реНрддреЛрдВ рдХреЗ рдХреБрдЫ рд▓рдбрд╝рдЦрдбрд╝рд╛рд╣рдЯ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред

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


All Articles