How to form a range?

Jim jim at fayettedigital.com
Sat Sep 11 21:26:41 BST 2021


This is actually two questions.  I was trying to understand how to do 
ranges when I ran across the example, full-searcher.pl. I tried it with 
the sample date range in the usage message

like this:

perl full-searcher.pl /tmp/adb 25/12/1970..31/12/1979
or perl full-searcher.pl /tmp/adb "25/12/1970..31/12/1979"

But it tossed out the Usage: message so I have something wrong. Then I 
tried a few other things like

perl full-searcher.pl /tmp/adb author:john title:"star wars"
Exception: Xapian::DatabaseOpeningError=SCALAR(0x5640c48b0470)

which doesn't seem right.

My other question is this.

I have a database where slot 4 has a date of the form 20210901120000 
(noon Sept 1, 2021) so I figured I'd just use a NumberRangeProcessor.

     my $qp = Xapian::QueryParser->new();
     my $numrange = new Xapian::NumberRangeProcessor( 4 );

     $qp->add_rangeprocessor($numrange);
I use scriptindex to generate the database and this is from the index file:

     recdate: field index=XRD value=4

Here's a partial dump of record 1

Data for record #1:
author=John Lance
daterev=79773918656
db=current
recdate=20120327111447
reference=cur/mail.svwindangel-1.com/INBOX/0004.html
stringdate=20120327081344

And here's what my query looks like before passed into parse_query

Query 20101202000000..20210901000000 john

So what's the secret?  Yes there are thousands of records in that date 
range.  I did remove the john from the query just for kicks. Nothing 
returned.





More information about the Xapian-discuss mailing list