minor search filter fixes

This commit is contained in:
Philipinho
2026-08-25 01:35:32 +01:00
parent d83ba56180
commit e51a23e607
5 changed files with 12 additions and 9 deletions
@@ -42,6 +42,8 @@ export class SearchService {
const searchQuery = tsquery(query + '*');
const titleOnly = searchParams.titleOnly === true;
const titleQuery = query;
// escape LIKE wildcards; ranking keeps the raw query
const titleLikeQuery = query.replace(/[\\%_]/g, '\\$&');
const rankColumn = browseByFilters
? sql<number>`0`.as('rank')
@@ -84,7 +86,7 @@ export class SearchService {
eb(
sql`lower(f_unaccent(pages.title))`,
'like',
sql`lower(f_unaccent(${`%${titleQuery}%`}))`,
sql`lower(f_unaccent(${`%${titleLikeQuery}%`}))`,
),
),
)
@@ -111,8 +113,7 @@ export class SearchService {
queryResults = queryResults.select((eb) => this.pageRepo.withSpace(eb));
}
if (searchParams.spaceId) {
// search by spaceId
if (searchParams.spaceId && opts.userId) {
queryResults = queryResults.where('spaceId', '=', searchParams.spaceId);
} else if (opts.userId && !searchParams.spaceId) {
// only search spaces the user is a member of
-1
View File
@@ -312,7 +312,6 @@ export interface PageHistory {
export interface Pages {
content: Json | null;
contributorIds: Generated<string[] | null>;
labelIds: Generated<string[] | null>;
coverPhoto: string | null;
createdAt: Generated<Timestamp>;
creatorId: string | null;