[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