about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-08-17 03:20:44 +0000
committerEric Wong <e@80x24.org>2015-08-17 03:20:44 +0000
commit5c3f7d5f9a03056da6740af523f22903880cc9ec (patch)
tree86c0da9053b8375df9807cdb67c662a06b941a95 /lib
parent53d0c896f8804d9c5c7a7b18b927e9a425b88a3a (diff)
downloadpublic-inbox-5c3f7d5f9a03056da6740af523f22903880cc9ec.tar.gz
Otherwise we'll be wasting space in our index for long
subjects.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/Search.pm9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index 051f7a54..862ed6dd 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -15,7 +15,8 @@ use constant {
         # SCHEMA_VERSION history
         # 0 - initial
         # 1 - subject_path is lower-cased
-        SCHEMA_VERSION => 1,
+        # 2 - subject_path is mid_compressed in the index, only
+        SCHEMA_VERSION => 2,
         LANG => 'english',
         QP_FLAGS => FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHATE|FLAG_WILDCARD,
 };
@@ -113,7 +114,7 @@ sub add_message {
                         $doc->add_term(xpfx('subject') . $subj);
 
                         my $path = subject_path($subj);
-                        $doc->add_term(xpfx('path') . $path);
+                        $doc->add_term(xpfx('path') . mid_compressed($path));
                 }
 
                 my $from = $smsg->from_name;
@@ -214,7 +215,7 @@ sub query {
 
 sub get_subject_path {
         my ($self, $path, $opts) = @_;
-        my $query = $self->qp->parse_query("path:$path", 0);
+        my $query = $self->qp->parse_query("path:".mid_compressed($path), 0);
         $self->do_enquire($query);
 }
 
@@ -238,7 +239,7 @@ sub get_thread {
         return { count => 0, msgs => [] } unless $smsg;
         my $qp = $self->qp;
         my $qtid = $qp->parse_query('thread:'.$smsg->thread_id);
-        my $qsub = $qp->parse_query('path:'.$smsg->path);
+        my $qsub = $qp->parse_query('path:'.mid_compressed($smsg->path));
         my $query = Search::Xapian::Query->new(OP_OR, $qtid, $qsub);
         $self->do_enquire($query);
 }