[cgi-wiki-dev] Plucene search backend
Kate L Pugh
cgi-wiki-dev@earth.li
Sat, 26 Jun 2004 03:26:39 +0100
I wonder if any of you are lovely enough to have a look at this for
me. I've been trying to get Simon's Plucene search backend to work,
but I'm hitting a problem that I can't seem to figure out.
Take a look at
http://the.earth.li/~kake/code/CGI-Wiki-0.55_01.tar.gz
(If you don't have Plucene::Simple installed then the plucene.t test
in there will fail. This is not the problem.)
017_delete_version.t is failing with the Plucene backend and I really
can't figure out why. The minimal test case that I can get to fail is
the final test in plucene.t, so take a look at that first.
If I comment out any one of the node writes, the test passes. If I
add extra node writes, the test passes. If I delete one of the nodes
entirely instead of just a single version, the test passes.
Also, if I revert the delete_node sub of CGI::Wiki back to the one in
0.54, ie change
if ( my $search = $self->search_obj ) {
# Remove old data.
$search->delete_node( $args{name} );
# If we have any versions left, index the new latest version.
my $new_current_content = $self->retrieve_node( $args{name } );
if ( $new_current_content ) {
$search->index_node( $args{name}, $new_current_content );
}
}
back to
if ( my $search = $self->search_obj ) {
my $new_current_content = $self->retrieve_node( $args{name } );
if ( $new_current_content ) {
$search->index_node( $args{name}, $new_current_content );
} else {
$search->delete_node( $args{name} );
}
}
then the test passes - but this isn't useful because I made that
change in order to ensure that old versions are removed from the
search indexes (ie to make other bits of 017_delete_version.t pass).
Help?
Kake