[Xapian-discuss] Perl binding: crash & missing functions?

Sander Pilon sander@pilon.com
Sun, 2 May 2004 19:00:37 +0200


Hi List, 

I've been playing with Xapian the last few days, and I got a few problems
with Perl.

First of all, when I add +/- 6000 documents (small ones, avg. less then 200
words) it crashes. 
(It justs quits with "Aborted".)

When I do this is batches of 500, it doesn't. (add 500, quit process, add
another 500, etc)
Adding a flush() every few hundred documents or even closing and opening the
database doesn't help. Help? 

Anyway, the problem above isn't such a big deal. I can do it in batches of
500 docs. 

However, I want to use a boolean, unweighted query sorted on date with the
most recently added documents on the top. (Sorted on a value key) Because
the indexer crashes (see problem above) sometimes, the same document can be
present more then once in the database, so I'll want to use the
"set_collapse_key" feature.

The problem is that the Perl binding doesn't seem to support
set_collapse_key and set_sort_key. I can call them (without errors) but they
don't seem to do anything. Could it be that I'm doing something wrong
somewhere, or are these functions really not supported? (And if so, are they
going to be added?)

My code looks like this:

	my @terms = split( ' ', lc( $query ) );
	my $enq = Search::Xapian::Enquire->new( $xdb );
	my $xq  = Search::Xapian::Query->new( OP_AND, @terms );
	
	$enq->set_sorting( 1, 1 );		# Sort by document id
	$enq->set_collapse_key( 1 );		# collapse on document id
	$enq->set_query( $xq );			

Regards,

Sander