Skip to main content.
home | support | download

Back to List Archive

Re: Using swish-e from *within* a database

From: Peter Karman <karman(at)>
Date: Mon Jul 12 2004 - 19:49:47 GMT
I do something very similar with Perl, using perl Data::Dumper files as 
the database tables (crude but very effective).

David Fishburn wrote on 7/12/04 1:59 PM:

> Unknowns:
> 1.  I am not sure what interfaces swish-e provides to retrieve its
> configuration parameters.  I was thinking of creating a table and storing
> each configuration item on a newline in the table.  The library can retrieve
> these values from the database, or pass them in as a parameter.

I think Bill was putting some code into the C API to let you retrieve 
the Properties list for an index. Other config params are often stored 
in the index header.

> 2.  Does swish-e have to create a file for the index, or could you store the
> result of the index in a LONG BINARY column in the database itself.  Then
> when the search is done, you can just load the index from the database.
> 3.  If 2 does not work, then we can store the absolute path name to the
> file, and go that route.

I don't know if #2 is possible; #3 is what I do.

> Has anyone attempted something along these lines before?

My setup is very fast (thanks to SWISH-E) and is working well on the 
scale we're at right now. If you try your scheme out, I'd be interested 
to hear how it goes. You'll likely need to figure out a scheme for 
merging and/or use incremental indexes, since that's the only way to get 
the 'live' effect of the database. What I do is create 'mod' indexes for 
each record that changes, then search the master index and all the mods 
for any query, returning only the latest mod. Then I merge all the mods 
together into the master index on a regular cron job. So far, so good.

Peter Karman - Software Publications Engineer - Cray Inc
phone: 651-605-9009 -
Received on Mon Jul 12 12:50:15 2004