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

Reply via email to