]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
search: fix help message for searching within quotes
[public-inbox.git] / lib / PublicInbox / Search.pm
index b59430d8e9d7748c0ad49130d22acdeeebfafaca..bc2b69854a8765add7c4956f0f7a3c23d9edf0a0 100644 (file)
@@ -16,7 +16,7 @@ use constant YYYYMMDD => 4; # for searching in the WWW UI
 
 use Search::Xapian qw/:standard/;
 use PublicInbox::SearchMsg;
-use Email::MIME;
+use PublicInbox::MIME;
 use PublicInbox::MID qw/mid_clean id_compress/;
 
 # This is English-only, everything else is non-standard and may be confused as
@@ -39,7 +39,9 @@ use constant {
        # 10 - optimize doc for NNTP overviews
        # 11 - merge threads when vivifying ghosts
        # 12 - change YYYYMMDD value column to numeric
-       SCHEMA_VERSION => 12,
+       # 13 - fix threading for empty References/In-Reply-To
+       #      (commit 83425ef12e4b65cdcecd11ddcb38175d4a91d5a0)
+       SCHEMA_VERSION => 13,
 
        # n.b. FLAG_PURE_NOT is expensive not suitable for a public website
        # as it could become a denial-of-service vector
@@ -89,7 +91,7 @@ are also supported
 EOF
        'b:' => 'match within message body, including text attachments',
        'nq:' => 'match non-quoted text within message body',
-       'quot:' => 'match quoted text within message body',
+       'q:' => 'match quoted text within message body',
        'n:' => 'match filename of attachment(s)',
        't:' => 'match within the To header',
        'c:' => 'match within the Cc header',
@@ -282,7 +284,7 @@ sub lookup_message {
                # raises on error:
                my $doc = $self->{xdb}->get_document($doc_id);
                $smsg = PublicInbox::SearchMsg->wrap($doc, $mid);
-               $smsg->doc_id($doc_id);
+               $smsg->{doc_id} = $doc_id;
        }
        $smsg;
 }
@@ -326,6 +328,7 @@ sub find_doc_ids_for_term {
 }
 
 # normalize subjects so they are suitable as pathnames for URLs
+# XXX: consider for removal
 sub subject_path {
        my $subj = pop;
        $subj = subject_normalized($subj);
@@ -343,32 +346,6 @@ sub subject_normalized {
        $subj;
 }
 
-# for doc data
-sub subject_summary {
-       my $subj = pop;
-       my $max = 68;
-       if (length($subj) > $max) {
-               my @subj = split(/\s+/, $subj);
-               $subj = '';
-               my $l;
-
-               while ($l = shift @subj) {
-                       my $new = $subj . $l . ' ';
-                       last if length($new) >= $max;
-                       $subj = $new;
-               }
-               if ($subj ne '') {
-                       my $r = scalar @subj ? ' ...' : '';
-                       $subj =~ s/ \z/$r/s;
-               } else {
-                       # subject has one REALLY long word, and NOT spam? wtf
-                       @subj = ($l =~ /\A(.{1,72})/);
-                       $subj = $subj[0] . ' ...';
-               }
-       }
-       $subj;
-}
-
 sub enquire {
        my ($self) = @_;
        $self->{enquire} ||= Search::Xapian::Enquire->new($self->{xdb});