diff options
Diffstat (limited to 'lib/PublicInbox/Search.pm')
-rw-r--r-- | lib/PublicInbox/Search.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index 477f77dc..6145b027 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -76,6 +76,25 @@ our @MAIL_VMAP = ( ); our @MAIL_NRP; +# Getopt::Long spec, only short options for portability in C++ implementation +our @XH_SPEC = ( + 'a', # ascending sort + 'c', # code search + 'd=s@', # shard dirs + 'g=s', # git dir (with -c) + 'k=i', # sort column (like sort(1)) + 'm=i', # maximum number of results + 'o=i', # offset + 'p', # show percent + 'r', # 1=relevance then column + 't', # collapse threads + 'A=s@', # prefixes + 'D', # emit docdata + 'K=i', # timeout kill after i seconds + 'O=s', # eidx_key + 'T=i', # threadid +); + sub load_xapian () { return 1 if defined $Xap; # n.b. PI_XAPIAN is intended for development use only @@ -247,6 +266,12 @@ sub mdocid { int(($docid - 1) / $nshard) + 1; } +sub docids_to_artnums { + my $nshard = shift->{nshard}; + # XXX does array vs arrayref make a difference in modern Perls? + map { int(($_ - 1) / $nshard) + 1 } @_; +} + sub mset_to_artnums { my ($self, $mset) = @_; my $nshard = $self->{nshard}; |