Jim Spath wrote:> I've been struggling trying to figure out now to do a value range
search
> in Perl.
>
> My omega indexer_script file has the following line in it:
>
> create_date : value=0 date=yyyymmdd
>
> I've been able to sort on this value by doing the following:
>
> $enq->set_sort_by_value_then_relevance(0);
>
> But I'm getting stuck on the value range. When I attempt to add
> MM/DD/YYYY..MM/DD/YYYY to the query string, it doesn't seem to
recognize
> that I am trying to use a value range:
>
> query string: test 10/26/2006..10/26/2007
>
> Xapian::Query((Ztest:(pos=1) AND (10:(pos=2) PHRASE 6 26:(pos=3) PHRASE
> 6 2006:(pos=4) PHRASE 6 10:(pos=5) PHRASE 6 26:(pos=6) PHRASE 6
> 2007:(pos=7))))
>
> FYI, we are using 1.0.0.0 ... do I simply need to upgrade, or am I doing
> something else wrong?
>
> Thanks!
> - Jim
I think I figured out the problem after much digging and searching:
$qp->add_valuerangeprocessor(new
Search::Xapian::DateValueRangeProcessor(0));
I do have a followup question...
In our search application, the Search::Xapian::QueryParser object is
persistent. Is there any kind of negative effect of having a value
range processor set in the parser object when it isn't actually needed?
Most of our search requests will not be utilizing the date range option,
so I'm somewhat concerned about using an option that isn't necessary
most of the time.
- Jim