• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Building a Better Search: Development of a WordPress Search API
 

Building a Better Search: Development of a WordPress Search API

on

  • 5,088 views

A copy of the slides being shown the conference session "Building a Better Search: Development of a WordPress Search API" during WordCamp NYC 2009.

A copy of the slides being shown the conference session "Building a Better Search: Development of a WordPress Search API" during WordCamp NYC 2009.

Statistics

Views

Total Views
5,088
Views on SlideShare
5,031
Embed Views
57

Actions

Likes
0
Downloads
12
Comments
0

6 Embeds 57

http://justin.gs 30
http://www.slideshare.net 15
http://justin.wordpress.com 9
http://www.cs.kent.edu 1
http://justinshreve.com 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Building a Better Search: Development of a WordPress Search API Building a Better Search: Development of a WordPress Search API Presentation Transcript

    • Introduction Building a Better Search: Development of a WordPress Search API Justin Shreve
    • A Google Summer of Code Project
      • Students worked with mentors (WordPress staff and community members) to develop and improve open source software
      • Annual program (held from May to August)
      • Phases:
        • Community bonding time
        • Interim period (development)
        • Mid-term evaluations
        • Interim Period (Write tests, documentation)
        • Final evaluations
    • WordPress Community Interaction
      • Mentor - Andy Skelton
        • http://andyskelton.com/
      • User/Community Feedback
        • Forums
        • Issue Tracker
        • Development Chats
    • Blogging to Improve the Project
      • Summer of WordPress Development Blog
        • http://gsoc2009wp.wordpress.com/
          • Weekly blog posts
          • Progress reports and upcoming developments
          • Invited comment and conversation
      ( http://gsoc2009wp.wordpress.com/author/justin/ ) “ In response to last night’s dev chat and a follow up by John Myrstad I have released a new version. The new release includes the ability to search by post tags and custom taxonomies (through register_taxonomy) as well as some improvements to the code and how the category selector on the advanced search page is showed…… ”
    • Selecting and Planning the Project
      • View WordPress’ ideas list and Google Summer of Code documentation
        • http://codex.wordpress.org/GSoC2009
      • With these ideas in mind assess WordPress’ current limitations
      • Look to the community
        • Look at feedback about WordPress features
        • Focus on useful enhancements
      • Chose to improve search functionality
    • Rationale Behind the Project
      • Limitations of the Current WordPress Search Engine
        • Both the blog and admin elements are very basic
          • Very little admin control
        • Can only search posts and pages
        • Can not easily filter results by multiple metadata selections
          • You can not do the following search: posts in category A with tags B and C; posts with author A and "text string”
        • Does not support modern search capabilities
          • AND, OR
          • Stemming
          • Spell Checking
    • The Solution
      • Build an API to abstract common search functionality
      • Offer a few suggestions for WordPress Search
        • Google plugin
        • Sphinx plugin
      • Ultimately let users and developers choose how they want their content searched (through plugins)
      • These plugins should address current limitations and fix them
    • Demo
    • A Closer Look at the API
      • http://wordpress.org/extend/plugins/search/
      • The API’s Features
        • Ability to drop in a new search plugin
        • Supports a federated search index
        • Offers easy methods for creating advanced search pages and other similar functionality ( e.g., pagination, sorting, and filtering )
        • Makes it easier for plugins to address current limitations
    • A Closer Look at the Search Plugin(s)
      • Bundled Search Plugins
        • Google
          • Uses Google Custom Search to display results on a self-hosted page (Outsources search work to Google).
        • MySQL
          • Improves upon the current MySQL search by adding multiple content searching, multiple metadata selection and MySQL’s BOOLEAN syntax.
        • Sphinx
          • Offers a powerful alternative for those with slightly more access to their server
          • Implements the tools available from the Sphinx open-source full-text engine
            • http://www.sphinxsearch.com/
    • Creating a New Plugin
      • Implement a new Search plugin in a few easy steps
      • Create a WordPress file (e.g.: fulltext.php) with a class of the same name (fulltext_search)
        • Implement a few variables for the API to communicate through
        • List the features of the plugin to implement
          • Will this engine have an advanced search page? Filters? Sorting option? Pagination? Does it need the search index?
        • Implement just two required functions in the class
          • find_results to query the database
          • search() to format the results
        • Add some activation code for the Search API to understand this is a Search Plugin
    • What the Future Holds
      • Look to the community for further suggestions
        • Monitor the issue tracker
        • Monitor discussions from other sites (ThemeHybrid, Twitter, etc)
        • Monitor WordPress Support forums
      • Implement the API in the WordPress core
        • Patch #10667
    • Closing Thank You!