diff --git a/apps/server/src/core/search/search.service.ts b/apps/server/src/core/search/search.service.ts index 3db29b274..32cedd7ee 100644 --- a/apps/server/src/core/search/search.service.ts +++ b/apps/server/src/core/search/search.service.ts @@ -48,7 +48,7 @@ export class SearchService { const rankColumn = browseByFilters ? sql`0`.as('rank') : titleOnly - ? sql`word_similarity(lower(f_unaccent(${titleQuery})), lower(f_unaccent(pages.title)))`.as( + ? sql`word_similarity(lower(${titleQuery}), lower(pages.title))`.as( 'rank', ) : sql`ts_rank(tsv, to_tsquery('english', f_unaccent(${searchQuery})))`.as( @@ -84,9 +84,9 @@ export class SearchService { .$if(!browseByFilters && titleOnly, (qb) => qb.where((eb) => eb( - sql`lower(f_unaccent(pages.title))`, + sql`lower(pages.title)`, 'like', - sql`lower(f_unaccent(${`%${titleLikeQuery}%`}))`, + sql`lower(${`%${titleLikeQuery}%`})`, ), ), ) diff --git a/apps/server/src/database/migrations/20260824T211732-page-title-trgm-index.ts b/apps/server/src/database/migrations/20260824T211732-page-title-trgm-index.ts index 3cadad07b..28e3207ea 100644 --- a/apps/server/src/database/migrations/20260824T211732-page-title-trgm-index.ts +++ b/apps/server/src/database/migrations/20260824T211732-page-title-trgm-index.ts @@ -1,12 +1,12 @@ import { type Kysely, sql } from 'kysely'; export async function up(db: Kysely): Promise { - await sql`CREATE INDEX IF NOT EXISTS pages_title_trgm_idx ON pages USING gin (lower(f_unaccent(title)) gin_trgm_ops)`.execute( + await sql`CREATE INDEX IF NOT EXISTS pages_title_trgm_idx ON pages USING gin (lower(title) gin_trgm_ops)`.execute( db, ); // separators normalized to spaces so space-typed queries match How_to_export.pdf - await sql`CREATE INDEX IF NOT EXISTS attachments_file_name_trgm_idx ON attachments USING gin (lower(f_unaccent(translate(file_name, '_.-', ' '))) gin_trgm_ops)`.execute( + await sql`CREATE INDEX IF NOT EXISTS attachments_file_name_trgm_idx ON attachments USING gin (lower(translate(file_name, '_.-', ' ')) gin_trgm_ops)`.execute( db, ); }