Olly Betts | 6 Sep 20:40 2005

Re: Re: Re: Problem with Perl bindings (enquire)

On Sat, Jul 30, 2005 at 10:37:32PM +0200, R. Mattes wrote:
> BTW, one of my urgent projects is putting up a publicly accessible Xapian
> search on our website (www.zeit.de). I'll send a note to the list as soon
> as the site is up (and maybe someone can then update the customer page).

It looks to me like the Xapian search is live here:

http://suche.zeit.de/suche

Am I correct?  If so I'll update the page on www.xapian.org.

Cheers,
    Olly
R. Mattes | 6 Sep 21:29 2005
Picon

Re: Re: Re: Problem with Perl bindings (enquire)

On Tue, 2005-09-06 at 19:40 +0100, Olly Betts wrote:
> On Sat, Jul 30, 2005 at 10:37:32PM +0200, R. Mattes wrote:
> > BTW, one of my urgent projects is putting up a publicly accessible Xapian
> > search on our website (www.zeit.de). I'll send a note to the list as soon
> > as the site is up (and maybe someone can then update the customer page).
> 
> It looks to me like the Xapian search is live here:

Geez, your _are_ fast! We went online yesterday night.
There will be a more customizable "expert search" soon as well.
I still want to play a bit with e/rsets -- we have some pretty
good information on related content, so once a user picks a "good"
document I could feed that as well as some related docs back into
the query.
BTW, thank's for those patches, they saved me quite some typing.
I have merged them into 0.9.2 with only minor tweaks.

> http://suche.zeit.de/suche
> 
> Am I correct?  If so I'll update the page on www.xapian.org.

Yes, finally online. I haven't had the time to add a 'powered by Xapian'
to the xslts. And i need to add/update our software page.

 Thanks a lot 

  Ralf Mattes

> Cheers,
>     Olly
(Continue reading)

Peter Karman | 8 Sep 15:06 2005

C API

Hi.

I am one of the developers of Swish-e (http://swish-e.org/), an indexing/search 
tool similar to Xapian.

I am currently researching future development directions for the Swish-e 
project. Three of our most often-requested features are UTF-8 support, 
incremental indexing, and large (multimillion) doc sets, all of which seem to be 
ably handled in the Xapian library.

So one possible direction for us might be to use the Xapian db as our backend. 
Swish-e would be much like Omega in that regard, except that we use libxml2 to 
parse HTML/XML, etc., along with some other features like defining which 
characters constitute a "word" and so forth.

My question is whether there exists a C API for Xapian, or more precisely, 
whether anyone has successfully used Xapian from within a C program. I realize 
that it is possible to use C++ libraries with C, but at a cursory glance, it 
doesn't look as if the xapian-core C++ source is defined with 'extern "C"' or 
any of the other common access points for C programs. A change to Swish-e to use 
Xapian would mean a total re-write for Swish-e, so we could do C++, but it would 
be good to know that upfront.

All thoughts appreciated.

cheers,
--

-- 
Peter Karman  .  http://peknet.com/  .  peter <at> peknet.com
Olly Betts | 8 Sep 15:32 2005

Re: C API

On Thu, Sep 08, 2005 at 08:06:02AM -0500, Peter Karman wrote:
> My question is whether there exists a C API for Xapian, or more precisely, 
> whether anyone has successfully used Xapian from within a C program. I 
> realize that it is possible to use C++ libraries with C, but at a cursory 
> glance, it doesn't look as if the xapian-core C++ source is defined with 
> 'extern "C"' or any of the other common access points for C programs.

There isn't a C API.

The C++ API is almost entirely class based, so any fully featured C API
would inevitably involve passing around opaque handles which are in
reality pointers to C++ objects.  That always feels clumsy to me - I
think it makes more sense to just use C++ instead of trying to write OO
code in C.

A restricted C API might be feasible - if you only allowed one
WritableDatabase and one Document to exist at a time for example.  But
I'm not sure it's effort well spent really.

One option would be to write your own thin C++ wrapper around Xapian
which exports a simple C API with all the features you actually need for
your project.  I took roughly this approach for the gmane indexer to
allow me to bolt Xapian onto an existing C indexer quickly.

> A change to Swish-e to use Xapian would mean a total re-write for
> Swish-e, so we could do C++, but it would be good to know that
> upfront.
>
> All thoughts appreciated.

(Continue reading)


Gmane