Ubuntu 12.04 рдХреЗ рддрд╣рдд django рдХреЗ рд╕рд╛рде рд╕реЛрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдПрдХреАрдХреГрдд рдХрд░рдирд╛

рдЫрд╡рд┐рдЫрд╡рд┐



рдкрд░рд┐рдЪрдп



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХрдИ рд╕рд╛рдЗрдЯреЛрдВ / рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд░ рдХреЛрдИ рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдЦреЛрдЬ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЦреЛрдЬ рдЗрдВрдЬрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛред рдЪреВрдВрдХрд┐ рд╣рдо django рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЦреЛрдЬ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ (рдмрд╢рд░реНрддреЗ рдХрд┐ рдХрд┐рд╕реА рдиреЗ 24 рдШрдВрдЯреЛрдВ рдореЗрдВ рд╕рдордп рд╕реАрдорд╛ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛ)ред рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ django рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрд╛рдЪреЗ рд╕реЛрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд░реВрдк рдореЗрдВ рд╕рдВрднрд╡ рд╣реИред рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рд╕рднреА рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рдкреВрдЫрддрд╛ рд╣реВрдВред







рд╣рдорд╛рд░реА рд░реЗрдХ



рдЕрддреАрдд рдореЗрдВ, рд╣рдореЗрдВ django-sphinx рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реБрдЦрдж рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛ред рд╕реНрдлрд┐рдВрдХреНрд╕ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЦреЛрдЬ рдЗрдВрдЬрди рд╣реИ, django-sphinx рднреА рдПрдХ рдЕрджреНрднреБрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рд▓реЗрдХрд┐рди django 1.3 рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдЗрд╕ рдкреВрд░реЗ рд╕реНрдЯреИрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдореНрдмреЙрд░рд┐рди рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдиреГрддреНрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдпрд╣ рднрд╛рд╡рдирд╛ рдмрдиреА рд╣реБрдИ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХрд╣реАрдВ рди рдХрд╣реАрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЕрд▓рдЧ, рдЕрдкрдиреЗ рдореБрдХреБрдЯ рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рд╕рд╛рде рдирд┐рд╣рд┐рдд рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдореЙрдбрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рдВ, рд╡рд╣рд╛рдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬрдирд░реЗрдЯрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 1.4+ рдХреЗ рддрд╣рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреАрдврд╝реА рдХреЗ рдмрд╛рдж рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рд╕реНрд╡рдпрдВ рдЦреЛрдЬ) рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, django-sphinx рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рднреА рдХрд░рддрд╛ рд╣реИред



рд╣рдо рдХреИрд╕реЗ рдПрдХ рдШрд╛рд╕ рдХрд╛ рдвреЗрд░ рдореЗрдВ рд╕реБрдИ рдорд┐рд▓ рдЧрдпрд╛



рдпрд╣ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдмрд╛рд░реА рд╣реИред рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рд░реНрдЪ рдЗрдВрдЬрди рдЪреБрдирдиреЗ рдкрд░ рд╕рд╡рд╛рд▓ рдЙрдареЗред рд╣рдордиреЗ рддреБрд░рдВрдд django-sphinx рдХреЛ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд▓рдЧреЗред рдкрд╣рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬрд┐рд╕ рдкрд░ рд╣рдордиреЗ рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╣реИ django-haystack, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдпрд╣ django рдореЗрдВ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдЖрдкреА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдЙрд╕ рдкрд░ рд░реБрдХ рдЧрдПред рд╣рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЦреЛрдЬ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдПрдХреАрдХрд░рдг рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ, рд╕реЛрд▓рд░, рдЬреЛрд╢, рдЬрд╝рд╛рдкрд┐рдпрдиред рддреНрд╡рд░рд┐рдд рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдгрдп рдХрд┐рдП рдЧрдП:



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






рдЕрдзрд┐рдХ рд░реЗрдХ



рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рд╣рд┐рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рдеред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХ рдореЗрдВ рд╣рд┐рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рдмрд╛рдд рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИред



рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЪрдпрдирд┐рдд, рдЦреЛрдЬ рдЗрдВрдЬрди рдЪрдпрдирд┐рддред рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдкрд╣рд▓реА рдЧрд▓рддреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ ubuntu 12.04 рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдереАред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реИрдк рд╕рдВрд╕реНрдХрд░рдг рд╕реЛрд▓рд░ 1.4 рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╕реНрдЯреИрдХ рдкреНрд░рд▓реЗрдЦрди рд╕рдВрд╕реНрдХрд░рдг 3.5+ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдЦреБрдж рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдП, рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓реИрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдпреБрджреНрдз рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



  1. рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ jre рдФрд░ рдЬреЗрдЯреНрдЯреА рд▓рдЧрд╛рддреЗ рд╣реИрдВ:
    apt-get install openjdk-7-jre-headless jetty
          
          



  2. рдЕрдЬрдЧрд░ рдпрд╛:
     pip install pysolr django-haystack
          
          



  3. рд╕реЙрд▓ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП "рдХрд╛рд▓рд╛ рдЬрд╛рджреВ" рдХрд╛ рдПрдХ рд╕рд╛:
     #!/bin/sh #variables LIB_DIRECTORY="/opt/solr" CONF_DIRECTORY="/etc/solr" OLD_CONF_DIRECTORY="$LIB_DIRECTORY/example/solr/conf" #check if already installed if ( [ -d $LIB_DIRECTORY ] && [ -d $CONF_DIRECTORY ] ); then echo "solr is already installed" exit fi #install if not #download and unpack wget http://archive.apache.org/dist/lucene/solr/3.6.2/apache-solr-3.6.2.tgz tar -xvzf apache-solr-3.6.2.tgz #install mv apache-solr-3.6.2 $LIB_DIRECTORY mv $OLD_CONF_DIRECTORY $CONF_DIRECTORY ln -s $CONF_DIRECTORY $OLD_CONF_DIRECTORY #cleanup rm apache-solr-3.6.2.tgz echo "solr installed"
          
          









рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рд╕реЛрд▓ рдХреЛ "рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░" рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рдореЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрддрд┐рд░рд┐рдХреНрдд рдиреГрддреНрдп рдХреЗ рдмрд┐рдирд╛ unzipping рдХреЗ рдареАрдХ рдмрд╛рдж рд╕реЛрд▓рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдо рд╕рд┐рд░реНрдл рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓рд╛ "рддреГрддреАрдп-рдкрдХреНрд╖" рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдерд╛ред рдмрд╛рдХреА рд╕рдорд╛рдиред



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛:

 cd /opt/solr/example/ && java -jar start.jar
      
      







рд▓реЗрдХрд┐рди рд╣рдо рд╕рдм рдХреБрдЫ рдРрд╕реЗ рд╣реА рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░, рд░реАрдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреНрд░рдо рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред



рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди



рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣рдо 2 рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:



  1. /etc/solr/schema.xml



    - рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдФрд░ рдЕрдиреБрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЦреЛрдЬред рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  2. /etc/solr/solrconfig.xml



    - /etc/solr/solrconfig.xml



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




рдХрд┐рд╕реА рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд▓ рдХреЛ рд░реАрдмреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдЖрдк рдЦреБрдж рдХреЛ RELOAD рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдпреБрджреНрдз рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛ред wiki.apache.org/solr/CoreAdmin рджреЗрдЦреЗрдВ)

рд╕реНрдХреАрдорд╛.рдПрдХреНрд╕рдПрдордПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣реИрд╕реНрдЯреИрдХ рдЕрджреНрднреБрдд build_solr_schema рдХрдорд╛рдВрдб рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдорд╛рдЗрдирд╕ рд╣реИ - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдпрд╛ рддреЛ рдХрдВрд╕реЛрд▓ рдХреЛ рдХрдВрд╕реЛрд▓, рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдЯреАрдо рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рд▓реНрдб_solr_schema рдХреА рдПрдХ рдкреВрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ /etc/solr/schema.xml рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЬреАрд╡рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



reindexing



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:



  1. "рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг" - рд╣рд░ рдПрди рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдкреВрд░реНрдг рд░реАрдПрдиреНрдбреЗрдХреНрд╕рд┐рдВрдЧред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд▓рд╛рдн рдЬреЛ рдорди рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдЗрд╕рдХреА рд╕рд╛рджрдЧреАред рдХреБрдЫ рдФрд░ minuses рд╣реИрдВ: рдПрдХ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде, рдЗрд╕рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдкреБрдирд░реНрдирд┐рд╡реЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  2. "рдкрд░рдорд╛рдгреБ рд░рд┐рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ" - рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ reindexing рдХрд░рдирд╛ post_save, post_delete, рдЖрджрд┐ред рдореБрдЦреНрдп рдкреНрд▓рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЧрддрд┐ рд╣реЛрдЧрд╛ред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╕рднреА reindexing рдирд┐рдпрдВрддреНрд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдХреЗ рдкреВрд░реНрдг рджреГрд╢реНрдп рдореЗрдВ рд╣реИ, рди рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореБрдХреБрдЯ рдореЗрдВ рдпрд╛, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛, рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпред рд▓реЗрдХрд┐рди рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ: рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдФрд░ рд░реАрдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рд┐рдЧреНрдирд▓ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдУрд╡рд░рд╣реЗрдбред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдп (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЬрд╡рд╛рдЗрди) рдореЗрдВ рдбрд╛рд▓рдХрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред




рд╣рдордиреЗ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ (рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдПрдХ рдмрд╛рд░ рдЪреБрдирдиреЗ рд╕реЗ рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛) рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдореЙрдбрд▓ рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдорд┐рд╢реНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:



hagfish


 class RefreshIndexMixin(object): #index -   ,  PostIndex  CarIndex def update_index(self, index): current_app.send_task('project.tasks.update_index', args=[self, index]) def remove_index(self, index): current_app.send_task('project.tasks.remove_index', args=[self, index])
      
      







рдореЙрдбрд▓ рдореЗрдВ, рдХреНрд░рдорд╢рдГ, рдЗрд╕реА рд╕рдВрдХреЗрдд рдореЗрдВ update_index рдпрд╛ remove_index рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред



рдЯрд╛рд╕реНрдХ


 from celery import shared_task @shared_task def update_index(obj, index): index().update_object(obj) @shared_task def remove_index(obj, index): index().remove_object(obj)
      
      







рд╕рд╛рдорд╛рдиреНрдп рд╢реБрд░реБрдЖрддред



рд╣рдо рд╣рд░ рдЬрдЧрд╣ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛрдЪрдирд╛ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рдпрд╣рд╛рдБ LAN / рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:



 [program:solr] command=java -jar start.jar directory=/opt/solr/example/ stderr_logfile=/var/log/solr.error.log stdout_logfile=/var/log/solr.log autorestart=true
      
      





LAN / рдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рд╕реЙрд▓ "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдЕрдиреБрдХреНрд░рдорд┐рдд, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрджрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рдбрд╝рд╛рдХреВ рд╕рд░реНрд╡рд░ рдкрд░, рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ рдкрд░ рд╕реНрдерд╛рдиреАрдп рдХрдорд╛рдВрдб рдкрд░ рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб рд╣реИ:



 command=java -Djetty.host=127.0.0.1 -Djetty.port=8983 -jar start.jar
      
      







рдкрд░рд┐рдгрд╛рдо



рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ:







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



All Articles