{"id":365,"date":"2013-06-27T17:14:26","date_gmt":"2013-06-27T17:14:26","guid":{"rendered":"http:\/\/www.siriinnovations.com\/blog\/?p=365"},"modified":"2014-07-03T05:59:17","modified_gmt":"2014-07-03T05:59:17","slug":"sphinx-full-text-search-engine","status":"publish","type":"post","link":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/","title":{"rendered":"Sphinx full-text Search Engine"},"content":{"rendered":"<p><b>Introduction:<\/b><\/p>\n<p>Sphinx \u00a0is a full-text search engine, it runs as a daemon and serves to requests of client applications. Client applications need to access Sphinx daemon via the native SphinxAPI, for which libraries are available in almost all popular languages like PHP, Perl, Ruby, Java, C# etc.<br \/>\nApplications can access Sphinx search daemon (searchd) using any of the three different access methods: a) via native search API (SphinxAPI), b) via Sphinx own implementation of MySQL network protocol (using a small SQL subset called SphinxQL), or c) via MySQL server with a pluggable storage engine (SphinxSE).<\/p>\n<p>Official native SphinxAPI implementations for PHP, Perl, Ruby, and Java are included within the distribution package.<\/p>\n<p><b>Sphinx Features:<\/b><\/p>\n<ul>\n<li>High indexing and searching performance.<\/li>\n<li>Advanced result set post-processing (SELECT with expressions, WHERE, ORDER BY, GROUP BY etc over text search results).<b><\/b><\/li>\n<li>Sphinx has high indexing speed (up to 10-15 MB\/sec per core on an internal benchmark).<\/li>\n<li>Sphinx has high search speed (up to 150-250 queries\/sec per core against 1,000,000 documents, 1.2 GB of data on an internal benchmark).<b><\/b><\/li>\n<\/ul>\n<p><b>How To Use :<\/b><\/p>\n<p>1. Download \u201cWin32 binaries w\/MySQL support\u201d here: <a href=\"http:\/\/sphinxsearch.com\/downloads\/beta\/\">http:\/\/sphinxsearch.com\/downloads\/beta\/<\/a><\/p>\n<p>2. Unzip the zip file to C:\\Sphinx. This directory should now include a few files, such as sphinx.conf.in, and subdirectories, such as api and bin.<\/p>\n<p>3. Add the subdirectories data and log.<\/p>\n<p>4. Open C:\\Sphinx\\sphinx.conf.in in a text editor.<\/p>\n<p>5. Change the settings sql_user and sql_pass to match your MySQL installation.<\/p>\n<p>6. Find and replace all occurrences of @CONFDIR@\/ with C:\\Sphinx\\, at least in the uncommented lines.<\/p>\n<p>7. Find and replace all occurrences of forward slash (\/) with backslash (\\) in these same lines. For example @CONFDIR@\/data\/test1 becomes C:\\Sphinx\\data\\test1.<\/p>\n<p>8. <b>Start cmd.exe as an administrator.<\/b><\/p>\n<p>9. Go to your MySQL installation directory, for example enter cd c:\\xampp\\mysql.<\/p>\n<p>10. Create the test database and fill it with data by entering:<\/p>\n<blockquote><p>mysql -u [youruser] -p &lt; c:\\Sphinx\\bin\\example.sql (replace [youruser] with your user name).<\/p><\/blockquote>\n<p>11. Enter cd c:\\Sphinx\\bin.<\/p>\n<p>12. Index the test database by entering indexer.exe &#8211;config c:\\Sphinx\\sphinx.conf test1.<\/p>\n<p>13. Install Sphinx as a service by entering:<\/p>\n<blockquote><p>searchd.exe &#8211;install &#8211;config c:\\sphinx\\bin\\sphinx.conf &#8211;servicename SphinxSearch<\/p><\/blockquote>\n<p>14. Start the service:<\/p>\n<blockquote><p>&gt;Click on start , right click on \u201cComputer\u201d.<br \/>\n-&gt;Click on \u201cManage\u201d.<br \/>\n-&gt;Click on \u201cServices and Applications\u201d.<br \/>\n-&gt;Click on \u201cServices\u201d<br \/>\n-&gt;Then start the \u201cSphinx Service\u201d.<\/p><\/blockquote>\n<p>15. Test the search by entering: search.exe &#8211;config c:\\sphinx\\sphinx.conf test. This should result in some matches for the search term \u201c<b>test<\/b>\u201d.<\/p>\n<p>16. Copy the Sphinx Search PHP API from C:\\Sphinx\\api\\sphinxapi.php to your site\u2019s HTML directory, for example C:\\xampp\\htdocs\\[yoursite]\\sphinxapi.php.<\/p>\n<p><b>17. Example<\/b><\/p>\n<pre class=\"code\" lang=\"php\"><code>&lt;?php<\/code>\r\n<code>mysql_connect(\"localhost\", \"root\", [yourpassword]);<\/code>\r\n<code>mysql_select_db(\"test\");<\/code>\r\n<code>require_once('sphinxapi.php');<\/code>\r\n<code>$s = new SphinxClient;<\/code>\r\n<code>$s-&gt;setServer(\"127.0.0.1\", 9312); \/\/ NOT \"localhost\" under Windows 7!<\/code>\r\n<code>$s-&gt;setMatchMode(SPH_MATCH_EXTENDED2);<\/code>\r\n<code>$s-&gt;SetLimits(0, 25);<\/code>\r\n<code>$result = $s-&gt;Query(\"test\");<\/code>\r\n<code>if ($result['total'] &gt; 0) {<\/code>\r\n<code>echo 'Total: ' . $result['total'] . \"&lt;br&gt;\\n\";<\/code>\r\n<code>echo 'Total Found: ' . $result['total_found'] . \"&lt;br&gt;\\n\";<\/code>\r\n<code>echo '&lt;table&gt;';<\/code>\r\n<code>echo '&lt;tr&gt;&lt;td&gt;No.&lt;\/td&gt;&lt;td&gt;ID&lt;\/td&gt;&lt;td&gt;Group ID&lt;\/td&gt;&lt;td&gt;Group ID 2&lt;\/td&gt;&lt;td&gt;Date Added&lt;\/td&gt;&lt;td&gt;Title&lt;\/td&gt;&lt;td&gt;Content&lt;\/td&gt;&lt;\/tr&gt;';<\/code>\r\n<code>foreach ($result['matches'] as $id =&gt; $otherStuff) {<\/code>\r\n<code>$row = mysql_fetch_array(mysql_query(\"select * from documents where id = $id\"));<\/code>\r\n<code>extract($row);<\/code>\r\n<code>++ $no;<\/code>\r\n<code>echo \"&lt;tr&gt;&lt;td&gt;$no&lt;\/td&gt;&lt;td&gt;$id&lt;\/td&gt;&lt;td&gt;$group_id&lt;\/td&gt;&lt;td&gt;$group_id2&lt;\/td&gt;&lt;td&gt;$date_added&lt;\/td&gt;&lt;td&gt;$title&lt;\/td&gt;&lt;td&gt;$content&lt;\/td&gt;&lt;\/tr&gt;\";<\/code>\r\n<code>}<\/code>\r\n<code>echo '&lt;\/table&gt;';<\/code>\r\n<code>} else {<\/code>\r\n<code>echo 'No results found';<\/code>\r\n<code>}<\/code>\r\n<code>?&gt;<\/code><b><\/b><\/pre>\n<p><b>18. References : <\/b><\/p>\n<p><a href=\"http:\/\/sphinxsearch.com\/docs\/2.0.1\/\">http:\/\/sphinxsearch.com\/docs\/2.0.1\/<\/a><br \/>\n<a href=\"http:\/\/sphinxsearch.com\/forum\/view.html?id=2972\">http:\/\/sphinxsearch.com\/forum\/view.html?id=2972<\/a><br \/>\n<a href=\"http:\/\/www.crankberryblog.com\/2011\/intalling-sphinx-on-wamp-localhost-windows\">http:\/\/www.crankberryblog.com\/2011\/intalling-sphinx-on-wamp-localhost-windows<\/a><br \/>\n<a href=\"http:\/\/sphinxsearch.com\/forum\/view.html?id=4986\">http:\/\/sphinxsearch.com\/forum\/view.html?id=4986<\/a><b><\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: Sphinx \u00a0is a full-text search engine, it runs as a daemon and serves to requests of client applications. Client applications need to access Sphinx daemon via the native SphinxAPI, for which libraries are available in almost all popular languages like PHP, Perl, Ruby, Java, C# etc. Applications can access Sphinx search daemon (searchd) using [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,3,6],"tags":[66],"class_list":["post-365","post","type-post","status-publish","format-standard","hentry","category-development","category-technical","category-tutorials","tag-sphinx"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sphinx full-text Search Engine - Siri Innovations<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sphinx full-text Search Engine - Siri Innovations\" \/>\n<meta property=\"og:description\" content=\"Introduction: Sphinx \u00a0is a full-text search engine, it runs as a daemon and serves to requests of client applications. Client applications need to access Sphinx daemon via the native SphinxAPI, for which libraries are available in almost all popular languages like PHP, Perl, Ruby, Java, C# etc. Applications can access Sphinx search daemon (searchd) using [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\" \/>\n<meta property=\"og:site_name\" content=\"Siri Innovations\" \/>\n<meta property=\"article:published_time\" content=\"2013-06-27T17:14:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-07-03T05:59:17+00:00\" \/>\n<meta name=\"author\" content=\"Yuva kumar\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yuva kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\"},\"author\":{\"name\":\"Yuva kumar\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0\"},\"headline\":\"Sphinx full-text Search Engine\",\"datePublished\":\"2013-06-27T17:14:26+00:00\",\"dateModified\":\"2014-07-03T05:59:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\"},\"wordCount\":480,\"commentCount\":0,\"keywords\":[\"Sphinx\"],\"articleSection\":[\"Development\",\"Technical\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\",\"url\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\",\"name\":\"Sphinx full-text Search Engine - Siri Innovations\",\"isPartOf\":{\"@id\":\"https:\/\/siriinnovations.com\/blog\/#website\"},\"datePublished\":\"2013-06-27T17:14:26+00:00\",\"dateModified\":\"2014-07-03T05:59:17+00:00\",\"author\":{\"@id\":\"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0\"},\"breadcrumb\":{\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/siriinnovations.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sphinx full-text Search Engine\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/#website\",\"url\":\"https:\/\/siriinnovations.com\/blog\/\",\"name\":\"Technical blog from Siri Innovations\",\"description\":\"Innovative like no other\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/siriinnovations.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0\",\"name\":\"Yuva kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/687772b38575bc5be6e95c834b31796b82c9a71158f171c0323ac991815f38b2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/687772b38575bc5be6e95c834b31796b82c9a71158f171c0323ac991815f38b2?s=96&d=mm&r=g\",\"caption\":\"Yuva kumar\"},\"url\":\"https:\/\/siriinnovations.com\/blog\/author\/yuvakumar\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sphinx full-text Search Engine - Siri Innovations","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/","og_locale":"en_US","og_type":"article","og_title":"Sphinx full-text Search Engine - Siri Innovations","og_description":"Introduction: Sphinx \u00a0is a full-text search engine, it runs as a daemon and serves to requests of client applications. Client applications need to access Sphinx daemon via the native SphinxAPI, for which libraries are available in almost all popular languages like PHP, Perl, Ruby, Java, C# etc. Applications can access Sphinx search daemon (searchd) using [&hellip;]","og_url":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/","og_site_name":"Siri Innovations","article_published_time":"2013-06-27T17:14:26+00:00","article_modified_time":"2014-07-03T05:59:17+00:00","author":"Yuva kumar","twitter_misc":{"Written by":"Yuva kumar","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#article","isPartOf":{"@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/"},"author":{"name":"Yuva kumar","@id":"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0"},"headline":"Sphinx full-text Search Engine","datePublished":"2013-06-27T17:14:26+00:00","dateModified":"2014-07-03T05:59:17+00:00","mainEntityOfPage":{"@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/"},"wordCount":480,"commentCount":0,"keywords":["Sphinx"],"articleSection":["Development","Technical","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/","url":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/","name":"Sphinx full-text Search Engine - Siri Innovations","isPartOf":{"@id":"https:\/\/siriinnovations.com\/blog\/#website"},"datePublished":"2013-06-27T17:14:26+00:00","dateModified":"2014-07-03T05:59:17+00:00","author":{"@id":"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0"},"breadcrumb":{"@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/siriinnovations.com\/blog\/sphinx-full-text-search-engine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/siriinnovations.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sphinx full-text Search Engine"}]},{"@type":"WebSite","@id":"https:\/\/siriinnovations.com\/blog\/#website","url":"https:\/\/siriinnovations.com\/blog\/","name":"Technical blog from Siri Innovations","description":"Innovative like no other","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/siriinnovations.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/e2941c65eca1eecb5bf7e44fb9f6f9c0","name":"Yuva kumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/siriinnovations.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/687772b38575bc5be6e95c834b31796b82c9a71158f171c0323ac991815f38b2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/687772b38575bc5be6e95c834b31796b82c9a71158f171c0323ac991815f38b2?s=96&d=mm&r=g","caption":"Yuva kumar"},"url":"https:\/\/siriinnovations.com\/blog\/author\/yuvakumar\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/posts\/365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/comments?post=365"}],"version-history":[{"count":11,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/posts\/365\/revisions"}],"predecessor-version":[{"id":876,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/posts\/365\/revisions\/876"}],"wp:attachment":[{"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/media?parent=365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/categories?post=365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/siriinnovations.com\/blog\/wp-json\/wp\/v2\/tags?post=365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}