<?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 15:47:33 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[System Architect: Integrate PHP application with Solr search engine]]></title>
      <guid>http://www.phpdeveloper.org/news/19303</guid>
      <link>http://www.phpdeveloper.org/news/19303</link>
      <description><![CDATA[<p>
On the "System Architect" site there's a recent post showing you how to <a href="http://systemsarchitect.net/integrate-php-application-with-solr-search-engine/">integrate PHP and Solr</a>, the searching tool from the Apache project.
</p>
<blockquote>
So why do you need a search engine, is database not enough? If you create a small website it might not matter. With medium or big size applications it's often wiser to go for a search engine. Saying that, even a small websites can benefit from Solr if you desire a high level of relevance in search results.
</blockquote>
<p>
Their example involves an ecommerce website and a search for a term (iPhones) and how difficult it could be to match against the possible multiple variations on the models. Solr makes this kind of searching easier. He shows you how to get a Solr instance all set up and configured as well as the PHP PECL extension from <a href="https://github.com/lukaszkujawa/php-pecl-solr.git">here</a>. A sample PHP script is also included showing connecting to Solr, inserting a new document and searching for a simple query of "hello". 
</p>]]></description>
      <pubDate>Tue, 12 Mar 2013 12:01:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jeroen van Dijk: Multi-select faceting in Solr with Solarium]]></title>
      <guid>http://www.phpdeveloper.org/news/18711</guid>
      <link>http://www.phpdeveloper.org/news/18711</link>
      <description><![CDATA[<p>
If you're a user of the <a href="http://www.solarium-project.org/">Solarium</a> tool for querying Solr database already and have been wondering how to work with faceting, you should take a look at <a href="http://jrdk.nl/blog/2012/11/06/multi-select-faceting-solr-solarium/">this new post</a> from <i>Jeroen van Dijk</i>. He covers using Solarium to do multi-select faceting in a Solr query.
</p>
<blockquote>
Solarium is a library I often use at Enrise for querying Solr. For one of the projects I work on, AutoTrack.nl a second hand car site, I was having issues on advanced faceting with Solr which I could easily solve using Solarium. [...] Faceting is a technique for guided navigation where search results are separated into categories, often including counts on those categories. The user can then select from those categories to restrict their search step by step.
</blockquote>
<p>
He includes an example of what kind of results this sort of searching could return and how you can use the "facet.mincount" to restrict the results to an even finer set. There's a bit of code included showing how to use this filtering method with a combination of "addFilterQuery" and "createFacetField" calls before executing the select through Solarium.
</p>]]></description>
      <pubDate>Wed, 07 Nov 2012 12:14:14 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[WebSpeaks.in: Search Google Plus Profiles using PHP and Google Plus API]]></title>
      <guid>http://www.phpdeveloper.org/news/18034</guid>
      <link>http://www.phpdeveloper.org/news/18034</link>
      <description><![CDATA[<p>
In <a href="http://www.webspeaks.in/2012/05/search-google-plus-profiles-using-php.html">this new tutorial</a> to the WebSpeaks blog, <i>Arvind Bhardwj</i> shows you how to hook up to the Google+ API and search profiles for your desired terms.
</p>
<blockquote>
The main aim of this application is to go familiar with the Google Plus API usage. Google Plus provides an extremely easy to use API to access the public contents on it. Here we will create a simple search application to search user profiles on Google Plus.
</blockquote>
<p>
Complete code is provided in the post (PHP) and instructions on setting up an "application" on G+ so you can get the keys needed to connect to the API. You can see it in action in <a href="http://demos.webspeaks.in/gplus/search/">the live demo</a> or just <a href="https://www.box.com/s/715fb9da61c459a1fe8b">download the source</a> to get started.
</p>]]></description>
      <pubDate>Fri, 01 Jun 2012 09:05:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Joshua Thijssen's Blog: Bloom Filters]]></title>
      <guid>http://www.phpdeveloper.org/news/17792</guid>
      <link>http://www.phpdeveloper.org/news/17792</link>
      <description><![CDATA[<p>
In <a href="http://www.adayinthelifeof.nl/2012/04/09/bloom-filters/">this new post</a> to his blog <i>Joshua Thijssen</i> describes something that can help when processing large amounts of data (like, in his example, the text of a book) to search through the information and find if a certain piece of data is in the set - a bloom filter.
</p>
<blockquote>
Most of my co-workers never really heard of bloom filters, and I'm continuously need to explain what they are, what their purpose is and why it's a better solution than other ones. So let's do an introduction on bloom filters. [...] Bloom filters have the property of being exceptionally fast AND exceptionally small compared to other structures but it comes with a price: it MIGHT be possible that our bloom filter thinks that an element is inside our set, when it really isn't. Luckily, the reverse is not possible: when a bloom filter says something is NOT in the set, you are 100% sure that it isn't part of the set.
</blockquote>
<p>
He explains how the filter works, noting how it's better for memory consumption and how it's possible for it to give a "maybe" response instead of ab absolute "yes" or "no". He also points out <a href="http://pecl.php.net/package/bloomy">a PHP extension, bloomy</a> that takes the hard work out of it for you.
</p>]]></description>
      <pubDate>Mon, 09 Apr 2012 11:13:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Design Aeon: Cake PHP Search Component]]></title>
      <guid>http://www.phpdeveloper.org/news/17762</guid>
      <link>http://www.phpdeveloper.org/news/17762</link>
      <description><![CDATA[<p>
On the Design Aeon blog there's a new post sharing a CakePHP component that can be used to <a href="http://www.designaeon.com/cake-php-search-component/">easily add searching</a> to your framework-based application.
</p>
<blockquote>
Cake Php Search Component is used to implement search in your cake php projects.The component provide highly reusability. component is meant to use across all the controllers. you just include this search component in your Controller and call a component function to fetch your conditions types in search form and refine the data .
</blockquote>
<p>
The component (available for <a href="http://www.designaeon.com/downloads/search.rar">download here</a>) is simple to install and full instructions for implementing it are included in the post - including it in the controller, creating search and pagination elements, making a controller action and finally making a view to tie it all together.
</p>]]></description>
      <pubDate>Mon, 02 Apr 2012 09:56:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: PHP Zeitgeist 2012]]></title>
      <guid>http://www.phpdeveloper.org/news/17411</guid>
      <link>http://www.phpdeveloper.org/news/17411</link>
      <description><![CDATA[<p>
On the PHPClasses.org blog there's <a href="http://www.phpclasses.org/blog/post/172-PHP-Zeitgeist-2011.html">a new post</a> with a "<a href="http://www.phpclasses.org/zeitgeist/">zeitgeist</a>" they've generated from statistics on the site (such as search queries and overall popularity of packages).
</p>
<blockquote>
For those that are not yet aware of this probably because they only arrived to the PHPClasses site recently, PHP Zeitgeist is an initiative that aims to study what were the last year trends regarding what PHP developers have been searching for.
</blockquote>
<p>According to their results, some of the trends ramping up (or still going strong) for 2012 include:</p>
<ul>
<li>Social media sites
<li>Sites like Groupon, Foursquare and Bitcoin
<li>jQuery plugins
<li>Doctrine
<li>MODX
<li>SugarCRM
</ul>]]></description>
      <pubDate>Wed, 18 Jan 2012 10:04:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Practicing Regular Expressions with Search and Replace]]></title>
      <guid>http://www.phpdeveloper.org/news/17163</guid>
      <link>http://www.phpdeveloper.org/news/17163</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial that <a href="http://phpmaster.com/practicing-regular-expressions/">shares a few regular expression tips</a> about doing some search and replace in your content.
</p>
<blockquote>
So how can you practice using regex if you are limited to just using them in your code? The answer is to use a utility, of which there are many, that uses regex for performing search and replace. I'm sure everyone is familiar with the standard "find x and replace it with y" type of search and replace. Most IDEs and text editors have built in regex engines to handle search and replace. In this article I'd like to walk through a series of exercises to help you practice using regex. 
</blockquote>
<p>
His examples are based on <a href="http://netbeans.org/">Netbeans</a> but can be used in just about any IDE that supports regex (or even just your code). He shows how to match word boundaries, do some grouping, work with back references and doing some search/replace based on multiple groupings.
</p>]]></description>
      <pubDate>Wed, 23 Nov 2011 14:27:59 -0600</pubDate>
    </item>
    <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[Sameer Borate's Blog: Grabbing the referrer search engine keywords for a site]]></title>
      <guid>http://www.phpdeveloper.org/news/17009</guid>
      <link>http://www.phpdeveloper.org/news/17009</link>
      <description><![CDATA[<p>
On his blog today <i>Sameer Borate</i> has a new post with a handy bit of code you can use to <a href="http://www.codediesel.com/php/grabbing-the-referrer-search-engine-keywords-for-a-site/">find the keywords from a search engine referral</a> to help with tracking how visitors have come to your site.
</p>
<blockquote>
A couple of weeks back I had to write a solution for a client to track the referrer search engine from where the user came to his sites contact page, without using Google Analytics. If a user was to fill the contact form on the website, the referring search engine name and the keyword for which it was refereed was to be emailed along with the contact information. The following is a solution for the same.
</blockquote>
<p>
The code itself is pretty simple - it checks the $_SERVER['HTTP_REFERER'] and, based on an array of search engine types, looks for a certain "query" keyname in the URL and matches what follows (with <a href="http://php.net/preg_match">a regular expression</a>). This can be useful for not only determining what sort of audience is visiting your site, but could also be used to present a custom message to visitors from certain search engines (or, more complicated, to show different content based on search terms).
</p>]]></description>
      <pubDate>Tue, 18 Oct 2011 13:25:27 -0500</pubDate>
    </item>
  </channel>
</rss>
