Skip to main content.
home | support | download

Back to List Archive

Re: Memory and swish-e-2.X

From: <jmruiz(at)not-real.boe.es>
Date: Mon Sep 18 2000 - 15:08:17 GMT
Hi Bill,

> Great.  I'm glad there will be the -e switch as if there's enough memory I
> like the indexing speed as it is now.  Maybe if the indexing time is long
> you can print out "Whew! that took a long time.  Try -e next time?" after
> indexing. ;)
> 

Sounds good.

> Jose, I asked before and it seems like there are two paths of code
> development; one for the 2.0.x version and the other for the C library.
> Are they still separate, or will this new version be based on the Library
> code version?
> 

I have just fixed the reported bugs in 2.0 (from 2.0 to 2.0.1). If there 
are more bugs I will try to fix them in 2.0.x.

The perl module and C library are totally new. I am making all new 
aditions and modifications to this package:
- New index engine to handle document types
- Memory issues
- Thread safe search
- Sample perl module
- etc.
So all the effort is being made in this package. In fact, I have built 
swish-e exec on the top of the C library.
I think thish package should be swish-e-2.1 but it is quite 
experimental (alpha) now.

> I also have a question about stemmer.c.  I noticed that there are a few
> versions of stemmer.c.  I was going to rebuild the stemmer perl module I
> use for highlighting.  Should I use the stemmer.c file from the C Library
> or from the 2.0.1 distribution?

Both files are almost identical. I have just removed the word "static" 
in some lines to get a thread safe code. Since I have not made too 
much work on it you can use 2.0.1 file. I think that Dave is taking a 
look on it.
BTW, at least, to get a thread safe stemmer.c, it is important to 
remove the word static from the following line:

static char *end;

> 
> I'm still looking forward to testing out the C library.  I haven't been
> able to get the current version to run:  I'm uncompressing the library, then
> ./configure
> make swish-e
> 
> Then I copy libswish-e.a to /usr/local/lib and then in the perl directory
> 
> perl Makefile.PL
> make
> make install (as root)
> 

Do make test. If this works, the library is working OK (swish-e is 
built on top of the the library).

So the problem seems to be in the perl part. After installing (as 
root) it you should see something like (sorry for the broken lines)...

# make install
Skipping /usr/local/lib/perl5/site_perl/sun4-
solaris/./auto/SWISHE/SWISHE.so (unchanged)
Skipping /usr/local/lib/perl5/site_perl/sun4-
solaris/./auto/SWISHE/SWISHE.bs (unchanged)
Skipping /usr/local/lib/perl5/site_perl/./SWISHE.pm (unchanged)
Writing /usr/local/lib/perl5/site_perl/sun4-
solaris/auto/SWISHE/.packlist
Appending installation info to /usr/local/lib/perl5/sun4-
solaris/5.00404/perllocal.pod

(the Skipping is because it is already installed)


> But SWISHE::SwishOpen fails.  Can you give me any debugging tips?  I also
> get make errors for testlib.c.
> 

Do not worry about warnings while building testlib. If you get the 
exec file, it should be OK. Note that test.pl and testlib needs to 
access the test index file in ../tests/test.index  (make test is 
required).

> BTW -- can the C library have a hook into the stemmer routine for Perl?

Of course, but we need a thread safe function. 

cu
Jose 
Received on Mon Sep 18 15:08:33 2000