mirror of
https://github.com/docmost/docmost.git
synced 2026-08-26 00:07:04 +08:00
fix: clean up unaccent usage in index
This commit is contained in:
@@ -48,7 +48,7 @@ export class SearchService {
|
||||
const rankColumn = browseByFilters
|
||||
? sql<number>`0`.as('rank')
|
||||
: titleOnly
|
||||
? sql<number>`word_similarity(lower(f_unaccent(${titleQuery})), lower(f_unaccent(pages.title)))`.as(
|
||||
? sql<number>`word_similarity(lower(${titleQuery}), lower(pages.title))`.as(
|
||||
'rank',
|
||||
)
|
||||
: sql<number>`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}%`})`,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { type Kysely, sql } from 'kysely';
|
||||
|
||||
export async function up(db: Kysely<any>): Promise<void> {
|
||||
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,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user