GigaOM / go-sphinx

11 stars 6 forks source link

=== Gigaom Sphinx ===

Contributors: wluo, okredo, misterbisson

Tags: wpquery, keyword search, sphinx, full text searching, fulltext, taxonomy queries, performance

Requires at least: 3.7

Tested up to: 4.0

Stable tag: trunk

Improve WP Query performance using Sphinx.

== Description ==

Sphinx is a blazing fast index of content. This plugin makes it easy get WordPress posts into Sphinx, then query them using standard WP Query. This approach improves the performance of queries in core WordPress and even in plugins without having to implement a new API or rewrite the queries.

See it in use at search.gigaom.com. Each search result is a post in WordPress, Sphinx does the work to find the matching results. The filters in the sidebar are powered by Scriblio based on taxonomy data on each post.

= What it accellerates =

The plugin accellerates most WP Queries, including search, tag/taxonomy, author, and date, among others. The full list of supported query vars is:

  1. author
  2. author_name
  3. authors
  4. category__and
  5. category__in
  6. category__not_in
  7. exclude
  8. feed
  9. fields
  10. ignore_sticky_posts
  11. include
  12. no_found_rows
  13. numberposts
  14. numberposts
  15. offset
  16. order
  17. orderby
  18. output
  19. paged
  20. post__in
  21. post__not_in
  22. post_parent
  23. post_status
  24. post_type
  25. posts_per_page
  26. s
  27. suppress_filters
  28. tag
  29. tag__and
  30. tag__in
  31. tag__not_in
  32. tag_id
  33. tag_slug__and
  34. tag_slug__in
  35. tax_query
  36. wijax

See those in the code.

= What it doesn't =

One of the only class of queries not supported are queries against metadata. Those are ignored by this plugin and WP Query handles those as usual.

go-sphinx automatically detects if other plugins have modified the SQL outside WP Query and steps out of the way if so. That allows the query to execute against the MySQL database as usual, but without the performance benefits of Sphinx.

= In the WordPress.org plugin repo =

Eventually: https://wordpress.org/plugins/go-sphinx/

= Fork me! =

This plugin is on Github: https://github.com/gigaOM/go-sphinx

== Installation ==

  1. Install Sphinx.
  2. Install and activate this plugin.
  3. Go to your WordPress dashboard -> Settings -> Sphinx where you'll find a sample Sphinx config file with the paramters to index the blog content.
  4. Use the configuration template to start indexing in Sphinx.
  5. Enjoy the performance boost.

Note: the plugin expects the Sphinx server IP:port to be 127.0.0.1:9306. For now, changing that requires filtering go_config to replace the defaults.