]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SearchIdxSkeleton.pm
searchidx: use add_boolean_term for internal terms
[public-inbox.git] / lib / PublicInbox / SearchIdxSkeleton.pm
index 063c83e8db3091a6d26094995a794dbeb1ad75f2..3fe6a4ad105c6a705ad6f36e1a877c0b1a6346f4 100644 (file)
@@ -80,6 +80,8 @@ sub index_skeleton {
        $str = length($str) . "\n" . $str;
 
        # multiple processes write to the same pipe, so use flock
+       # We can't avoid this lock for <=PIPE_BUF writes, either,
+       # because those atomic writes can break up >PIPE_BUF ones
        $self->_lock_acquire;
        print $w $str or $err = $!;
        $self->_lock_release;
@@ -96,7 +98,7 @@ sub index_skeleton_real ($$) {
        my $ts = $values->[PublicInbox::Search::TS];
        my $smsg = PublicInbox::SearchMsg->new(undef);
        my $doc = $smsg->{doc};
-       $doc->add_term('XPATH' . $xpath) if defined $xpath;
+       $doc->add_boolean_term('XPATH' . $xpath) if defined $xpath;
        foreach my $mid (@$mids) {
                $doc->add_term('Q' . $mid);
        }