diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm index 776029514..e0ee9fd94 100644 --- a/Bugzilla/DB/Pg.pm +++ b/Bugzilla/DB/Pg.pm @@ -187,16 +187,16 @@ sub sql_fulltext_search { my $self = shift; my ($column, $text) = @_; - my $language = Bugzilla->localconfig->{postgres_fulltext_language}; + my $language = Bugzilla->localconfig->{postgres_fulltext_language} || 'english'; $language = $self->quote($language).','; $text = $self->quote($text); # Try to_tsquery, and use plainto_tsquery if the syntax is incorrect # FIXME reporting errors to user would be useful here - eval { $self->do("SELECT to_tsquery($text)") }; + eval { $self->do("SELECT to_tsquery($language$text)") }; my $op = $@ ? 'plainto_tsquery' : 'to_tsquery'; return ( - "(to_tsvector($language$column) \@\@ $op($text))", - "(ts_rank(to_tsvector($language$column), $op($text)))", + "(to_tsvector($language$column) \@\@ $op($language$text))", + "(ts_rank(to_tsvector($language$column), $op($language$text)))", ); } diff --git a/Bugzilla/DB/Schema/Pg.pm b/Bugzilla/DB/Schema/Pg.pm index 80c169019..f1e042fd4 100644 --- a/Bugzilla/DB/Schema/Pg.pm +++ b/Bugzilla/DB/Schema/Pg.pm @@ -79,7 +79,7 @@ sub _get_create_index_ddl if ($index_type && $index_type eq 'FULLTEXT') { $index_fields = @$index_fields > 1 ? join(" || ' ' || ", @$index_fields) : $index_fields->[0]; - my $language = Bugzilla->localconfig->{postgres_fulltext_language}; + my $language = Bugzilla->localconfig->{postgres_fulltext_language} || 'english'; return "CREATE INDEX $name ON $table USING gin(to_tsvector('$language', $index_fields))"; } return $self->SUPER::_get_create_index_ddl(@_);