Gigaom’s Blazing Fast WordPress Search is Enhanced by Sphinx and Scriblio

Gigaom has been pumping out a steady stream of news and analysis on technology since 2006. The WordPress-powered site attracts 6.5 million monthly unique visitors with topics ranging from science and energy to cloud businesses, media and mobile.

With years of articles buried in its archives, it’s important for Gigaom to have a solid search experience. The site’s engineering team, led by Casey Bisson, opted to utilize Sphinx in order to improve upon WordPress’ native searching capabilities.

The result is a super fast dedicated search page at search.gigaom.com that features the ability to further narrow results based on available terms.

gigaom-search

The advanced search feature was built using a combination of several open source plugins built by Bisson. These plugins integrate Sphinx and taxonomy filtering to help users more easily explore Gigaom’s wealth of content. All the tools are open source and were contributed back to the community for anyone to use.

What is Sphinx?

Sphinx is a GPL-licensed full text search server that was created to be highly performant while returning the most relevant results. In order to integrate it with WordPress, Bisson developed Gigaom Sphinx. The plugin pulls WordPress posts into Sphinx and then queries them using the standard WP_Query class.

Gigaom Sphinx requires that you first install Sphinx and then set it up with the sample config file, which includes parameters to index the site’s content. Once the site is fully indexed in Sphinx, WordPress query performance will be greatly improved.

sphinx-config

Scriblio

In order to further filter results, Gigaom uses Scriblio, a plugin that provides faceted searching and browsing of WordPress posts, pages, and custom post types. This enables users to further narrow down results based on taxonomies and their available terms. The facets are easily added via configurable widgets, which you can include on your site’s search, tag and category archives, and other archive pages.

Search results can be filtered using multiple terms. This allows visitors to quickly nail down the most relevant content.

example-search

The facets can be displayed as either tag clouds or lists, as shown above. Scriblio’s search editor widget will show the selected search terms and allows the user to easily add or remove terms while automatically updating results.

The plugin also includes live search suggestions as you type. These recommendations are based on all available taxonomies as well as post titles.

bCMS

The last plugin required to create Gigaom’s unique search experience is bCMS, which was also developed by Bisson. It enhances WordPress’ CMS capabilities in a number of ways and includes a setting to enable full text keyword indexing.

For a full rundown of Gigaom’s searching capabilities, check out the FAQ item devoted to search. Thanks to Bisson and the Gigaom team, these tools are available for any WordPress site administrator to use. If you need more fine-grained sorting capabilities for search results, the combination of Gigaom Sphinx, Scriblio and bCMS is a solid option.

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.

7 Comments


  1. I’m tempted to try this but first, has anyone installed this on a big site? I have 15,000 articles and 50,000 images, so changing search and re-indexing wouldn’t be trivial. Looking forward to any feedback. Thanks!

    Report


  2. Just tried to leave a reply and got this:

    Error 503 Service Unavailable

    Service Unavailable

    Guru Meditation:

    XID: 925908614

    Varnish cache server

    Report


  3. I’d be interested in a benchmark against ElasticSearch which seems to be the default search technology for WordPress these days. And I love it too :)

    Report


  4. Bryan, you do not need to “change search” in production and risk your site’s availability while it’s indexing.

    This has to be tested in the non-prod environment first. Make a copy of your site with all files (can skip copying the thumbnail images – just regenerate them after), and test how it goes with indexing. Only after ironing out the details you might plan to do a roll-over of the new search into the production server. May be do a staged approach, like import the already generated index from the test into prod, to avoid long time to reindex again…

    Anyhow this sounds like a big fun project!

    Report


  5. efficient use of tabs in the first screenshot!!

    Report

Comments are closed.