tags:

views:

746

answers:

1

I'm not talking about the stuff that health junkies eat, but the open-source search/indexing software based on Xapian.

My company are currently employing someone to implement it, and they want me to use it's functionality on a project I am working on, however I have heard little about it and am so a little wary of setting up a link to my otherwise generally tried-and-tested solid codebase.

Are there any issues that are known with the flax implementation that are likely to cause problems in other areas of my build? For example is it difficult to synchronise with the standard database solution that is already in use, or does the data it sends back come in an unreliable or bloated format (XML for an example of bloatedness [in this case, XML fanboys])

Cheers, Ed

+11  A: 

I should say up-front that I'm one of the developers of Flax, and one of the original two developers of Xapian. Hopefully I can still be informative, despite my bias!

Flax is actually the name for a group of related software:

  • "Xappy" is a python library, which wraps the standard Xapian interface, and provides various higher level features on top of it (eg, schemas, ). Xappy is still under heavy development, but is also being deployed in various production systems. If you plan to use it in production at this stage, I'd highly recommend contacting the developers (eg, me!) to outline what you're doing, so that I can warn you of any likely issues, but I wouldn't expect any major problems.

  • "Flax basic" is a standalone search application. As the name implies, this is a very basic piece of software, and we wouldn't expect it to cover most people's needs. It is in many ways just a demo of some of the possibilities of Xapian; though it's a functional demo, and some people are using it to run simple search sites. It simply allows you to index collections of files which are stored on local disk (or network accessible drives), and provides a simple web interface to search these. It can handle a reasonable number of file types on windows (using the ifilter interface), but only currently HTML and plain text on other platforms. It comes with a windows installer, but is slightly more awkward to install and run on Linux or other platforms. I think we released the 1.0 version of Flax basic around a year ago, and while we're doing occasional updates of it, we're not expecting to do any further significant development of it.

  • "Flax search server" is a web service built on top of Xapian and Xappy, intended to provide a highly flexible way to perform indexing and searching. It uses a clean, well defined REST API, using JSON as the transport for the data, and there are also clients available for PHP, Python and Perl which make it pretty easy to talk to the API. Writing clients for other languages should be pretty straight forward. If you're integrating Flax stuff with a larger system, this would theoretically be the way to go - the design allows a very clean separation between Flax and the rest of a system.

However, the big drawback is that Flax search server is not yet complete. There are some alpha tarballs available, but I'd recommend getting the latest source from SVN if you want to try it out. Our current plan is to have a formal release of the completed server within a couple of months - a lot of what is currently missing is documentation and examples, but there are also a couple of small features to be added, some issues to be addressed, and a lot of testing to be performed.

The issues in the google code project at http://code.google.com/p/flaxcode/issues/list are mainly (if not exclusively) targetted at Flax basic. So far, Flax search server isn't yet released, and the issues for that are in the form of a Todo list, rather than in a tracker.

If you're interested in using Flax search server, then, again, I recommend getting in touch with me ([email protected], or irc.freenode.net channel #flax), letting me know what you're actually wanting to do with it, and I can tell you whether it has the features you're looking for, and whether those particular features are stable. Since Flax search server is at such an early stage, I wouldn't expect there to be much feedback about it yet - but if you do look at the design, I'd highly value your feedback, since we're not yet frozen and any design flaws can readily be addressed at this stage.

Richard Boulton