Hi all, I was wondering whether someone could grant my user (ianb) commit access to extras, to add a plugin I have been working on. The plugin works with the 0.7 dp and trunk, and is designed to transparently add support for various search engines, currently Xapian and Zend Search Lucene (the native PHP Lucene implementation in Zend Framework).
For those interested, the code is up on github: http://github.com/ianbarber/Habari-Search-Plugin I modify the results by hooking the filter at the start of Posts::get, and filtering out the criteria. This is then passed to whichever search backend is chosen, and a list of IDs added to the criteria. There are some new features as well, such as a spelling correction output (only supported by xapian), and a 'similar posts' function (support by both, but it's a bit of a fudge in ZSL). Indexing is done over all published items when the plugin is configured, and from then on updates, deletes and inserts are hooked to keep the index correct. Future-work wise, I intend to add a couple of other features (including snippet highlighting, which ZSL supports) and to extend the engine support to Sphinx and Solr. These two are slightly different as they require some configuration from the user outside Habari, rather than just requiring the libraries to be installed as with the current two. I'm thinking of bundling appropriate configs and leaving users with instructions to put those into the engine as appropriate. Any feedback/thoughts anyone has would be much appreciated - particularly if anyone has thoughs around a clean way to avoid the 'count' call for pagination - I can get a decent estimate of the number of results from the search engine, but there isn't a clear way to avoid the SQL query at the moment I could think of! Thanks, Ian -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/habari-dev
