<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 21 May 2013 18:57:23 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[php|architect: Full-text Search with SQLite]]></title>
      <guid>http://www.phpdeveloper.org/news/17128</guid>
      <link>http://www.phpdeveloper.org/news/17128</link>
      <description><![CDATA[<p>
On the php|architect site there's a recent tutorial from <i>Jeremy Kendall</i> about <a href="http://www.phparch.com/2011/11/full-text-search-with-sqlite/">full-text searching in SQLite</a>, a lightweight database alternative that, since it's stored locally, can be used without a full database server.
</p>
<blockquote>
Full-text search with SQLite is so ridiculously easy to implement, there are only two valid reasons you haven't done it yet. The first is you don't need the full-text capability, and the second is you didn't know it could be done.
</blockquote>
<p>
In his method he creates a full-text search table (using fts4) and populating it with your data. You can use the "MATCH" keyword in your SQL to find the closest matches and even handy modifiers like "NEARBY", wildcards and token/prefixes in queries. For more detailed information, check out the <a href="http://www.sqlite.org/fts3.html">SQLite documentation</a> for a full guide.
</p>]]></description>
      <pubDate>Tue, 15 Nov 2011 09:53:50 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: MySQL PHP search: four-part video tutorial series]]></title>
      <guid>http://www.phpdeveloper.org/news/17064</guid>
      <link>http://www.phpdeveloper.org/news/17064</link>
      <description><![CDATA[<p>
As linked to on DZone.com today, there's <a href="http://css.dzone.com/articles/mysql-php-search-four-part">a video series about PHP/MySQL</a> and creating a basic search engine from <i>Adam Khoury</i>'s <a href="http://www.youtube.com/user/flashbuilding">collection</a>:
</p>
<blockquote>
Fresh from Adam Khoury's <a href="http://www.youtube.com/user/flashbuilding">massive library of instructional videos</a> comes a four-part, full-fledged tutorial on searching a MySQL database using PHP. The tutorials use the 'worked example' format (like <a href="http://www.khanacademy.org/">Khan Academy</a>), which makes learning relatively painless for newbies and not completely useless for more experienced developers.
</blockquote>
<p>
The four videos require you to have at least a decent working knowledge of putting PHP and MySQL together and show you how to:
</p>
<ul>
<li><a href="http://www.youtube.com/watch?feature=player_embedded&v=yTudF1CAKY0">create/populate an example table</a>
<li><a href="http://www.youtube.com/watch?v=vBxcPOxRgeE&feature=player_embedded">build the frontend search form</a>
<li><a href="http://www.youtube.com/watch?feature=player_embedded&v=DVS4qoB98U8">use UNION and LIKEs to search the data</a>
<li><a href="http://www.youtube.com/watch?v=HnmEMiI1YvY&feature=player_embedded">using the FULLTEXT searching in MySQL to find more accurate results</a>
</ul>]]></description>
      <pubDate>Mon, 31 Oct 2011 13:09:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Content with Style: Fulltext searches with Xapian and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/13478</guid>
      <link>http://www.phpdeveloper.org/news/13478</link>
      <description><![CDATA[<p>
New on the Content with Style blog today there's <a href="http://www.contentwithstyle.co.uk/content/searching-with-xapian-and-php">this tutorial</a> looking at full-text searching combining <a href="http://xapian.org/">Xapian</a> and PHP to replace the slower full-text methods in something like a MySQL database.
</p>
<blockquote>
Sometimes MySQL just isn't quick enough. Especially when it comes to fulltext searches. Everything needs to be indexed correctly, and if we're using different fields with different weights for a relevance percentage, things get very complicated quickly. <a href="http://xapian.org/">Xapian</a> to the rescue.
</blockquote>
<p>
The Xapian library can be compiled and installed as a binding for your PHP installation. He includes some sample scripts to get you started - the SQL to build the table, a Xapian wrapper class, and three simple PHP scripts to search for, view and delete records. Some sample results are also included.
</p>]]></description>
      <pubDate>Wed, 04 Nov 2009 08:19:13 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPFreaks.com: Simple SQL Search]]></title>
      <guid>http://www.phpdeveloper.org/news/12481</guid>
      <link>http://www.phpdeveloper.org/news/12481</link>
      <description><![CDATA[<p>
In a new article on PHPFreaks.com <i>Brad Jacobs</i> takes a look at <a href="http://www.phpfreaks.com/tutorial/simple-sql-search">creating a simple search</a> of the information in your database. Their example will search a table containing article information (title, story content, etc).
</p>
<blockquote>
The aim of this tutorial is to provide users with a basic layout and the logic behind creating a multiple field search in MySQL. As often time users tend to over do the search and add a lot of unnecessary code. By following and understanding this tutorial you should be able to implement this search into your own site and provide a nice and simple SQL Search of your own database. So roll up your sleeves and be prepared to get dirty.
</blockquote>
<p>
Everything's provided for you - the SQL to build and fill the tables and the code to perform the search. They opted to go with LIKE statements in the where clause instead of using something like <a href="http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html">full-text searching</a>. The former works for a lot of situations, but can get slower and slower the more rows there are in the table.
</p>]]></description>
      <pubDate>Fri, 08 May 2009 09:30:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Antony Dovgal's Blog: PECL/sphinx - fast fulltext search made easy]]></title>
      <guid>http://www.phpdeveloper.org/news/10731</guid>
      <link>http://www.phpdeveloper.org/news/10731</link>
      <description><![CDATA[<p>
<i>Antony Dovgal</i> has a <a href="http://daylessday.org/archives/26-PECLsphinx-fast-fulltext-search-made-easy.html">quick post</a> today about a PECL extension that makes for quick and easy full-text searching on standard SQL databases.
</p>
<blockquote>
As some of you might have noticed, I've been a bit busy lately creating new PECL extension <a href="http://pecl.php.net/sphinx">- sphinx</a>. The extension provides an interface to a feature-rich fulltext search engine <a href="http://sphinxsearch.com/">Sphinx</a> written by Andrew Aksyonoff. We (Andrew and me) made our best to keep the extension as compatible to the pure-PHP API (shipped with Sphinx) as possible in order to make the transition easier.
</blockquote>
<p>
The <a href="http://pecl.php.net/package/sphinx">PECL page</a> has already been created as well as a <a href="http://php.net/sphinx">page in the manual</a> for how it works. He also briefly mentions the installation (including teh required libraries).
</p>]]></description>
      <pubDate>Thu, 31 Jul 2008 15:14:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Markus Wolff's Blog: Fulltext search as a webservice]]></title>
      <guid>http://www.phpdeveloper.org/news/10134</guid>
      <link>http://www.phpdeveloper.org/news/10134</link>
      <description><![CDATA[<p>
In a <a href="http://blog.wolff-hamburg.de/archives/22-Fulltext-search-as-a-webservice.html">recent blog entry</a> about a fulltext searching solution, <i>Markus Wolff</i> hacked together in a few hours with Zend_Search_Lucene:
</p>
<blockquote>
While working at some really old code that provided a fulltext search feature, I was at one point incredibly pissed rather unsatisfied due to the fact that said code resisted all attempts to debug it. This lead to the decision to sit down on a rainy weekend to try if I couldn't come up with something more useful, and most importantly, scalable.
</blockquote>
<p>
<a href="http://blog.wolff-hamburg.de/archives/22-Fulltext-search-as-a-webservice.html">His method</a> allowed for separation between the indexing and the main app and how he changes some of his methods when he learned that <a href="http://lucene.apache.org/solr/">Solr</a> did something very similar. He also lays out some example XML content and how it's handled in his script (via a SimpleXML object).
</p>]]></description>
      <pubDate>Wed, 07 May 2008 12:57:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Performing Full-text and Boolean Searches with MySQL]]></title>
      <guid>http://www.phpdeveloper.org/news/7992</guid>
      <link>http://www.phpdeveloper.org/news/7992</link>
      <description><![CDATA[<p>
DevShed has started a new MySQL-centric series today with <a href="http://www.devshed.com/c/a/PHP/Performing-Full-text-and-Boolean-Searches-with-MySQL/">this new tutorial</a>, an initial look at working with MySQL and PHP to perform full-text and boolean searches on your data.
</p>
<blockquote>
In this series of articles I'm going to show you how to work with full-text and Boolean searches using MySQL and PHP 5, but the entirety of the code samples that will be developed here can be easily modified to work with a different database server.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Performing-Full-text-and-Boolean-Searches-with-MySQL/">start with</a> the creation of a "common approach" for making the requests and fetching the results (in classes so that any other database could be substituted). With the class structure in place, they move on to the full-text searches, showing how to format database tables by creating them with a fulltext index on which ever fields you want.
</p>]]></description>
      <pubDate>Wed, 06 Jun 2007 14:06:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer.com: Creating a Code Search Engine with PHP and MySQL]]></title>
      <guid>http://www.phpdeveloper.org/news/7611</guid>
      <link>http://www.phpdeveloper.org/news/7611</link>
      <description><![CDATA[<p>
Developer.com has posted <a href="http://www.developer.com/db/article.php/3671021">a new tutorial</a> by <i>Jason Gilmore</i> about the creation of a simple search engine based around a MySQL database and using PHP to perform the queries.
</p>
<blockquote>
In this article I'll offer a simplified version of this search engine, introducing you to some compelling PHP and MySQL features along the way. You might adopt what you learn towards building your own search engine, or towards other applications.
</blockquote>
<p>
He <a href="http://www.developer.com/db/article.php/3671021">starts with the base</a> of the application - the database schema (including loading data into it) - and works up from there. He opts to go with the fulltext search type as it can provide a huge performance boost over just using something like LIKE statements in your query. He also includes a bit of HTML for help make the output easier to use.
</p>]]></description>
      <pubDate>Thu, 12 Apr 2007 09:30:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[roScripts.com: PHP search engine]]></title>
      <guid>http://www.phpdeveloper.org/news/7534</guid>
      <link>http://www.phpdeveloper.org/news/7534</link>
      <description><![CDATA[<p>
The roScripts website has <a href="http://www.roscripts.com/PHP_search_engine-119.html">a new tutorial</a> that anyone just starting out to create a search engine with PHP and MySQL should get their hands...er eyes on. It steps through the creation of a simple PHP-based search engine, showing multiple methods to achieve the goal.
</p>
<blockquote>
The right search engine on your website won't bring you more traffic but it will help your visitors to better locate things so it will keep them on your pages. A good search engine implemented can increase your hits with almost 30% and this is tested. I'm not talking just to have a tutorial.
</blockquote>
<p>
The different methods <a href="http://www.roscripts.com/PHP_search_engine-119.html">the show how to implement</a> include:
<ul>
<li>using a straight LIKE on each word entered
<li>paring down those results using ORs on other columns too
<li>implementing the Porter Stemmer algorithm
<li>finding matches that contain the term but not only one part of it
<li>Full-text searches
</ul>
</p>
<p>
It's a good overview of some of the basic steps to getting your own search up and running, but some of them, when applied to sites with larger amounts of data behind them, wouldn't be useful at all (slowness mainly).
</p>]]></description>
      <pubDate>Fri, 30 Mar 2007 09:55:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Wolfgang Drews' Blog: Some thoughts on indexes & searching in MySQL / PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/5505</guid>
      <link>http://www.phpdeveloper.org/news/5505</link>
      <description><![CDATA[<p>
Giving your users a tool to find relevant invormation from the vast ocean that is the content of your site isn't easy sometimes. Even with the powerful combination of PHP and MySQL, it can be difficult to find what you're looking for. <i>Wolfgang Drews</i> shares in some of this frustration in his <a href="http://www.drews.cx/2006/06/04/some-thoughts-on-indexes-searching-in-mysql-php/">new blog post</a>.
</p>
<quote>
<i>
Using MySQL most of you will be familiar with this: searching in textfields for keywords is quite uncomfortable when using other table handler then MyISAM. If you use MyISAM, you can utilise the <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html">Fulltext-Search</a> with MATCH … AGAINST. Otherwise you are thrown back to "simple" string comparison functions (<a href="http://dev.mysql.com/doc/refman/5.1/en/string-comparison-functions.html">LIKE</a>). Not really satisfying. As this won't change with the 5.1er Version of MySQL, i have to search for another solution.
</i>
</quote>
<p>
His <a href="http://www.drews.cx/2006/06/04/some-thoughts-on-indexes-searching-in-mysql-php/">other suggestions</a> include the use of two other tables (terms in one, references back to content in another) or an external search option, such as the Zend Framework's implementation of the lucene functionality - <a href="http://framework.zend.com/manual/de/zend.search.html">Zend_Search</a>. 
</p>]]></description>
      <pubDate>Mon, 05 Jun 2006 06:03:05 -0500</pubDate>
    </item>
  </channel>
</rss>
