рд╕реНрдлрд┐рдВрдХреНрд╕ + php рдкрд░ рдЯреНрд░рд╛рдпрд▓ рд╕рд░реНрдЪ рдЗрдВрдЬрди рдмрдирд╛рдирд╛

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕



рдкрд╣рд▓реЗ, рд╣рдордиреЗ рд╕рд╛рдЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлреБрд▓рдЯреЗрдХреНрд╕реНрдЯ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░, рд╡рд╣ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд░рд╣ рдЧрдпрд╛ рдФрд░ рд╣рдордиреЗ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЦреЛрдЬ рддрдХрдиреАрдХ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛: рд╕реНрдлрд┐рдВрдХреНрд╕ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рд░реВрд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓реЗрдЦ рд▓реЗрдЦ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ PHP рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдЦреЛрдЬ рдЗрдВрдЬрди рдмрдирд╛рдПрдБ , рдХреЗрд╡рд▓ рд░реВрд╕реА рдореЗрдВ рдФрд░ рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП (рд╡рд┐рдВрдбреЛрдЬрд╝ 7, mysql / php)

рд▓реЗрдЦ 4 рднрд╛рдЧреЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:

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




1. рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рддреИрдпрд╛рд░ рдХрд░реЗрдВ



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

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

CREATE OR REPLACE VIEW `catalog` AS SELECT p.`id` , p.`id_company` , p.`id_category` , p.`name` , p.`keyword` , p.`short_desc` , com.`name` AS company_name, cat.`name` AS category_name FROM `products` p JOIN `categories` cat ON p.id_category = cat.id JOIN `companies` com ON p.id_company = com.id WHERE 1
      
      





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



2. рд╕реНрдлрд┐рдВрдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ



рдСрдлрд╝рд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рддрд╛рдЬрд╝рд╛ рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: www.sphinxsearch.com/downloads.html

рдореИрдВрдиреЗ Win32 рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ w / MySQL рд╕рдорд░реНрдерди 1.10 рдмреАрдЯрд╛ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ред рдЕрдЧрд▓рд╛, рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдЗрд╕реЗ C: \ Sphinx рдореЗрдВ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛)



рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╕реЗрдЯрдЕрдк рд╣реИред рдореИрдВрдиреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ sphinx.conf.in рдлрд╝рд╛рдЗрд▓ рд▓реА

рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рдореИрдВ рдмрд╕ рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд┐рдЧ рджреЗрддрд╛ рд╣реВрдВ, рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдЦрдВрдб рдХрд╛ рд╕рд╛рд░рд╛ рдкрд╛рда рдПрдХ sphinx.conf.in рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ



рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд


 #     source catalog { #   #  : mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc type = mysql #        sql_host = localhost sql_user = root sql_pass = sql_db = products sql_port = 3306 # ,   3306 # -,           #       UTF-8,           sql_query_pre = SET NAMES utf8 # ,       #        ID  sql_query = \ SELECT * \ FROM catalog # ,     ,    sql_attr_uint = id_company sql_attr_uint = id_category # document info query, ONLY for CLI search (ie. testing and debugging) # optional, default is empty # must contain $id macro and must fetch the document by that id sql_query_info = SELECT * FROM products WHERE id=$id }
      
      







рдЙрддреНрдкрд╛рдж рдЕрдиреБрдХреНрд░рдордг рд╡рд┐рдХрд▓реНрдк


 #      index catalog { #     source = catalog # ,      path = C:\Sphinx/data/catalog #     morphology = stem_ru #      min_word_len = 1 #  charset_type = utf-8 }
      
      







рдЦреЛрдЬ рдбреЗрдореЙрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рд╕реЗрд╡рд╛рдПрдБ)


 #   () searchd { #      ""  listen = 9312 #    log = C:\Sphinx/log/searchd.log #      query_log = C:\Sphinx/log/query.log # PID file, searchd process ID file name # mandatory pid_file = C:\Sphinx/log/searchd.pid }
      
      







рдпрд╣ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред

рдЕрдм рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, C: \ Sphinx \ bin \ searchd --install --config C: \ Sphinx \ sphinx.conf.in рд▓рд┐рдЦреЗрдВ - рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рдореЗрдВ Servinename SphinxSearch рд▓рд┐рдЦреЗрдВ

рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдкреНрд░рд╢рд╛рд╕рди - рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрднреА рддрдХ рдЕрдиреБрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



3. рдЕрдиреБрдХреНрд░рдордг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЦреЛрдЬ



рдЕрдм рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд╣рдо C: \ Sphinx \ bin \ indexer --all --config C: \ Sphinx \ sphinx.conf.in рд▓рд┐рдЦрддреЗ рд╣реИрдВ ред рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:

 C:\Users\Iskander> C:\Sphinx\bin\indexer --all --config C:\Sphinx\sphinx.conf.in Sphinx 1.10-beta (r2420) Copyright (c) 2001-2010, Andrew Aksyonoff Copyright (c) 2008-2010, Sphinx Technologies Inc (http://sphinxsearch.com) using config file 'C:\Sphinx\sphinx.conf.in'... indexing index 'catalog'... collected 572 docs, 0.1 MB sorted 0.0 Mhits, 100.0% done total 572 docs, 115192 bytes total 0.380 sec, 303124 bytes/sec, 1505.19 docs/sec total 2 reads, 0.000 sec, 31.6 kb/call avg, 0.0 msec/call avg total 9 writes, 0.001 sec, 14.6 kb/call avg, 0.1 msec/call avg
      
      







рдпрд╣реА рд╣реИ, рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЕрдкрдиреА SphinxSearch рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреЛрдЬ рдмрд╛рд░ рдореЗрдВ рд╣рдо рдХреБрдЫ рдРрд╕рд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ

C: \ Sphinx \ bin \ search --config C: \ Sphinx \ sphinx.conf.in рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

 C:\Users\Iskander> C:\Sphinx\bin\search --config C:\Sphinx\sphinx.conf.in computer Sphinx 1.10-beta (r2420) Copyright (c) 2001-2010, Andrew Aksyonoff Copyright (c) 2008-2010, Sphinx Technologies Inc (http://sphinxsearch.com) using config file 'C:\Sphinx\sphinx.conf.in'... index 'catalog': query 'computer': returned 1 matches of 1 total in 0.000 sec displaying matches: 1. document=1, weight=2812, id_company=2, id_category=1263 id=1 id_company=2 id_category=1263 words: 1. 'computer': 1 documents, 2 hits
      
      







рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЦреЛрдЬ!



4. php рд╕реЗ рд╕рд░реНрдЪ рдХрд░реЗрдВ



рдЦреИрд░, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХрдВрдкреНрдпреВрдЯрд░" рдЦреЛрдЬреЗрдВ

 <?php //    api include('C:\Sphinx\api\sphinxapi.php'); //   -        $cl = new SphinxClient(); $cl->SetServer( "localhost", 9312 ); //   $cl->SetMatchMode( SPH_MATCH_ANY ); //    1     $result = $cl->Query("computer"); //   //    if ( $result === false ) { echo "Query failed: " . $cl->GetLastError() . ".\n"; //     } else { if ( $cl->GetLastWarning() ) { echo "WARNING: " . $cl->GetLastWarning() . " //      "; } if ( ! empty($result["matches"]) ) { //     -   foreach ( $result["matches"] as $product => $info ) { echo $product . "<br />"; //   id   } } } exit;
      
      







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



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



рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдХреЛ "рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд" рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЗрд╕ рдкрд░, рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░, рдЙрддреНрдкрд╛рдж рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдорд╛рдиреНрдп рд░реВрд╕реА рд▓реЗрдЦ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдирд╣реАрдВ рд╣реИрдВред



All Articles