SlideShare a Scribd company logo
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!

More Related Content

PDF
WordPress 4.1
PDF
Workshop: Creating your first WordPress plugin
PPT
Blogging And Rss Preconference
PPT
Avninfosoft Seo strategy for 2014
PDF
Reference Linking & Cited-By - Crossref LIVE South Africa
PPTX
How to Use Flickr
PDF
What's Next for WordPress at WordCamp Netherlands
PDF
Adding a Social 'Stache to WordPress: BuddyPress, bbPress and Beyond
WordPress 4.1
Workshop: Creating your first WordPress plugin
Blogging And Rss Preconference
Avninfosoft Seo strategy for 2014
Reference Linking & Cited-By - Crossref LIVE South Africa
How to Use Flickr
What's Next for WordPress at WordCamp Netherlands
Adding a Social 'Stache to WordPress: BuddyPress, bbPress and Beyond

Viewers also liked (20)

ODP
Motius per parlar anglés
PPTX
Cpsp the generic approach part 3
PDF
HBT-landstinget stockholm
PPT
PPTX
25 years of notable disasters in mexico 1985 2010 lessons learned for prepare...
PPT
Catastrophic Disasters in China PART II
ODP
Presentació xavier
PPT
Presentació del Departament de Desenvolupament i Ocupació
PDF
Adv Or 13902 Chap3 Integer Programming
PPTX
mi aventura
PPT
Fontana
PPT
M6.6 earthquake strikes near Ya’an city, Sichuan province, China
PPTX
Top 5 issues niagara niagara business club - 2015
PPTX
Seminar: Financing Your Education
PPT
Pagerank
PPTX
Saving And Investing
PDF
Bibliografia hiver 2016
PDF
積算ソフト資料
PDF
Motius per parlar anglés
Cpsp the generic approach part 3
HBT-landstinget stockholm
25 years of notable disasters in mexico 1985 2010 lessons learned for prepare...
Catastrophic Disasters in China PART II
Presentació xavier
Presentació del Departament de Desenvolupament i Ocupació
Adv Or 13902 Chap3 Integer Programming
mi aventura
Fontana
M6.6 earthquake strikes near Ya’an city, Sichuan province, China
Top 5 issues niagara niagara business club - 2015
Seminar: Financing Your Education
Pagerank
Saving And Investing
Bibliografia hiver 2016
積算ソフト資料
Ad

Similar to Building a Better Search: Development of a WordPress Search API (20)

PPTX
Beyond the Theme - Using WordPress as an API
PDF
Bending word press to your will
PDF
eMusic: WordPress in the Enterprise
PPTX
Enhance WordPress Search Using Sphinx
PDF
WordPress is advancing rAPIdly - WordCamp San Antonio 2015
PPT
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
PPTX
Best Practices for Building WordPress Applications
PDF
Best Practices for WordPress
KEY
WordPress - Open Source Overview Presentation
KEY
<?php + WordPress
PDF
Wordpress search-elasticsearch
PPTX
Search Engine Project Presentation
KEY
CSI: WordPress -- Getting Into the Guts
PDF
WordPress Café: Using WordPress as a Framework
PDF
Transforming WordPress Search and Query Performance with Elasticsearch
PPTX
Tampa Bay WordPress Meetup - August 13 2014 - WordPress 4.0
PDF
Best practices-wordpress-enterprise
KEY
doing_it_right() with WordPress
PDF
Custom coded projects
PDF
WordPress 4.4 and Beyond
Beyond the Theme - Using WordPress as an API
Bending word press to your will
eMusic: WordPress in the Enterprise
Enhance WordPress Search Using Sphinx
WordPress is advancing rAPIdly - WordCamp San Antonio 2015
Open Source Search Tools for www2010 conferencesourcesearchtoolswww20100426dA...
Best Practices for Building WordPress Applications
Best Practices for WordPress
WordPress - Open Source Overview Presentation
<?php + WordPress
Wordpress search-elasticsearch
Search Engine Project Presentation
CSI: WordPress -- Getting Into the Guts
WordPress Café: Using WordPress as a Framework
Transforming WordPress Search and Query Performance with Elasticsearch
Tampa Bay WordPress Meetup - August 13 2014 - WordPress 4.0
Best practices-wordpress-enterprise
doing_it_right() with WordPress
Custom coded projects
WordPress 4.4 and Beyond
Ad

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine Learning_overview_presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25-Week II
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
sap open course for s4hana steps from ECC to s4
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm

Building a Better Search: Development of a WordPress Search API

  • 1. Introduction Building a Better Search: Development of a WordPress Search API Justin Shreve
  • 2. 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
  • 3. WordPress Community Interaction Mentor - Andy Skelton http://andyskelton.com/ User/Community Feedback Forums Issue Tracker Development Chats
  • 4. 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…… ”
  • 5. 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
  • 6. 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
  • 7. 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
  • 9. 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
  • 10. 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/
  • 11. 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
  • 12. 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