Specifying the "d:" field only worked for
NumberValueRangeProcessor in older versions of Xapian, such
as the one in Debian wheezy (libsearch-xapian-perl=1.2.10.0-1)
This slipped through since I rarely use wheezy, anymore, and
perhaps nobody else does, either. Perhaps wheezy support may be
dropped, soon.
Unfortunately, this requires a schema version bump.
# 9 - disable Message-ID compression (SHA-1)
# 10 - optimize doc for NNTP overviews
# 11 - merge threads when vivifying ghosts
# 9 - disable Message-ID compression (SHA-1)
# 10 - optimize doc for NNTP overviews
# 11 - merge threads when vivifying ghosts
+ # 12 - change YYYYMMDD value column to numeric
+ SCHEMA_VERSION => 12,
# n.b. FLAG_PURE_NOT is expensive not suitable for a public website
# as it could become a denial-of-service vector
# n.b. FLAG_PURE_NOT is expensive not suitable for a public website
# as it could become a denial-of-service vector
$qp->set_stemmer($self->stemmer);
$qp->set_stemming_strategy(STEM_SOME);
$qp->add_valuerangeprocessor(
$qp->set_stemmer($self->stemmer);
$qp->set_stemming_strategy(STEM_SOME);
$qp->add_valuerangeprocessor(
- Search::Xapian::StringValueRangeProcessor->new(YYYYMMDD, 'd:'));
+ Search::Xapian::NumberValueRangeProcessor->new(YYYYMMDD, 'd:'));
while (my ($name, $prefix) = each %bool_pfx_external) {
$qp->add_boolean_prefix($name, $prefix);
while (my ($name, $prefix) = each %bool_pfx_external) {
$qp->add_boolean_prefix($name, $prefix);
$smsg->{mime}->body_raw =~ tr!\n!\n!);
my $yyyymmdd = strftime('%Y%m%d', gmtime($ts));
$smsg->{mime}->body_raw =~ tr!\n!\n!);
my $yyyymmdd = strftime('%Y%m%d', gmtime($ts));
- $doc->add_value(&PublicInbox::Search::YYYYMMDD, $yyyymmdd);
+ add_val($doc, PublicInbox::Search::YYYYMMDD, $yyyymmdd);