[KinoSearch] _02: RangeFilter problems

Chris Nandor projects at pudge.net
Thu Mar 8 13:38:13 PST 2007


OK, here we go.  This causes a segfault when $range_filter is used.
Without $range_filter, I get the five results I expect.

#!/usr/bin/perl
use warnings;
use strict;

use Slash::Test;
$::searchtoo->_init('firehose'); # create schema

use Data::Dumper;
use KinoSearch::QueryParser::QueryParser;
use KinoSearch::Search::RangeFilter;
use KinoSearch::Searcher;

my $kdir = '/path/to/invindex';
my $schema = 'Slash::SearchToo::KinoSearch::Schema::firehose';

my $searcher = KinoSearch::Searcher->new(
	invindex	=> $schema->open($kdir),
);

my $query_parser = KinoSearch::QueryParser::QueryParser->new(
	schema		=> $schema->new,
	fields		=> [qw(introtext title toptags)],
	default_boolop	=> 'AND',
);
my $query = $query_parser->parse('sony OR test');

my $range_filter = KinoSearch::Search::RangeFilter->new(
	field         => 'dayssince1970',
	lower_term    => 12880,
	upper_term    => 13580,
	include_lower => 1,
	include_upper => 1,
);

my $hits = $searcher->search(
	query		=> $query,
	filter		=> $range_filter,
);

while (my $hit = $hits->fetch_hit_hashref) {
	print Dumper $hit;
}

print "Done.\n";

-- 
Chris Nandor                      pudge at pobox.com    http://pudge.net/
Open Source Technology Group       pudge at ostg.com     http://ostg.com/



More information about the kinosearch mailing list