Faceted search for WordPress

facetwpMatt Gibbs, the original creator of the popular Pods Framework, has launched his latest project: FacetWP. FacetWP is a commercial plugin to offer faceted search capability for WordPress.

Faceted search, if you're unfamiliar, is an advanced search technique:

A technique for accessing information organized according to a faceted classification system, allowing users to explore a collection of information by applying multiple filters. A faceted classification system classifies each information element along multiple explicit dimensions, enabling the classifications to be accessed and ordered in multiple ways rather than in a single, pre-determined, taxonomic order.

Wikipedia

In the case of FacetWP, it allows you to have a live-refreshed search archive that allows filtering initial search results based on various post type, taxonomy, and custom field parameters of your choosing. You can see a frontend demo of FacetWP to get a better visual.

Based on the demo, it is a little strange that it seems to not accept multiple-checkbox selections for one field. I'd imagine those are coming though. Also, according to Matt, sliders, date ranges, and number ranges are in the works for field types.

FacetWP has a thorough admin interface for both creating facets and the corresponding search indexes, as well as some form of shortcode templating mechanism. The admin interface for building Facets and search indexes is really neat; but the templating aspect seems forced, as the users definitely needs to know code still, which makes me wonder why it's necessary at all. I would rather put my code in actual templates versus WordPress settings fields.

The state of search in WordPress

Search in WordPress has sucked for a long time. There have been a variety of alternatives over the years such as Google Custom Search and Relevanssi. But there seems to be a surge of new options lately.

About a month ago I linked up SearchWP, a new, self-hosted search option for WordPress. I'm really excited to try that one out further. I've heard good things so far. And it appears Matt and Jonathan Christopher have some form of relationship between FacetWP and SearchWP as well, as Matt links to SearchWP from his homepage.

There is also Swiftype, a hosted custom-search tool that is very promising, but definitely different than SearchWP. Swiftype is a recommended solution for custom search for WordPress.com VIP clients.

Speaking of WordPress.com VIP clients, they probably have the most similar WordPress-oriented solution to FacetWP. They announced their faceted search solution for VIP in May, which is powered by ElastiSearch, an open source real-time search engine used by basically every big startup I can think of that would need that kind of search. But WordPress VIP clients have to pay $1200 per month to use that service, and it's not yet available for self-hosted folks.

And then there is Omnisearch. Omnisearch is a Jetpack module that has a path to make it into core, and it helps make searching the admin a better experience. I'm honestly not sure why it couldn't be used to power frontend search. I really don't know much about Omnisearch at all, but it's worth noting.

I'm happy to see these various solutions appear to improve WordPress search. They certainly span a number of areas between self-hosted search, hosted search, admin search, and faceted search.

Seeing someone like Matt, who has experience building complex WordPress tools already, is really exciting. I look forward to seeing where he takes FacetWP.