mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	fix(server): use current schema for search/explore (#2331)
This commit is contained in:
		| @@ -132,15 +132,13 @@ export class TypesenseRepository implements ISearchRepository { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async explore(userId: string): Promise<SearchExploreItem<AssetEntity>[]> { |   async explore(userId: string): Promise<SearchExploreItem<AssetEntity>[]> { | ||||||
|     const alias = await this.client.aliases(SearchCollection.ASSETS).retrieve(); |  | ||||||
|  |  | ||||||
|     const common = { |     const common = { | ||||||
|       q: '*', |       q: '*', | ||||||
|       filter_by: this.buildFilterBy('ownerId', userId, true), |       filter_by: this.buildFilterBy('ownerId', userId, true), | ||||||
|       per_page: 100, |       per_page: 100, | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|     const asset$ = this.client.collections<AssetEntity>(alias.collection_name).documents(); |     const asset$ = this.client.collections<AssetEntity>(assetSchema.name).documents(); | ||||||
|  |  | ||||||
|     const { facet_counts: facets } = await asset$.search({ |     const { facet_counts: facets } = await asset$.search({ | ||||||
|       ...common, |       ...common, | ||||||
| @@ -208,10 +206,8 @@ export class TypesenseRepository implements ISearchRepository { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async searchAlbums(query: string, filters: SearchFilter): Promise<SearchResult<AlbumEntity>> { |   async searchAlbums(query: string, filters: SearchFilter): Promise<SearchResult<AlbumEntity>> { | ||||||
|     const alias = await this.client.aliases(SearchCollection.ALBUMS).retrieve(); |  | ||||||
|  |  | ||||||
|     const results = await this.client |     const results = await this.client | ||||||
|       .collections<AlbumEntity>(alias.collection_name) |       .collections<AlbumEntity>(albumSchema.name) | ||||||
|       .documents() |       .documents() | ||||||
|       .search({ |       .search({ | ||||||
|         q: query, |         q: query, | ||||||
| @@ -223,9 +219,8 @@ export class TypesenseRepository implements ISearchRepository { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async searchAssets(query: string, filters: SearchFilter): Promise<SearchResult<AssetEntity>> { |   async searchAssets(query: string, filters: SearchFilter): Promise<SearchResult<AssetEntity>> { | ||||||
|     const alias = await this.client.aliases(SearchCollection.ASSETS).retrieve(); |  | ||||||
|     const results = await this.client |     const results = await this.client | ||||||
|       .collections<AssetEntity>(alias.collection_name) |       .collections<AssetEntity>(assetSchema.name) | ||||||
|       .documents() |       .documents() | ||||||
|       .search({ |       .search({ | ||||||
|         q: query, |         q: query, | ||||||
| @@ -248,12 +243,10 @@ export class TypesenseRepository implements ISearchRepository { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async vectorSearch(input: number[], filters: SearchFilter): Promise<SearchResult<AssetEntity>> { |   async vectorSearch(input: number[], filters: SearchFilter): Promise<SearchResult<AssetEntity>> { | ||||||
|     const alias = await this.client.aliases(SearchCollection.ASSETS).retrieve(); |  | ||||||
|  |  | ||||||
|     const { results } = await this.client.multiSearch.perform({ |     const { results } = await this.client.multiSearch.perform({ | ||||||
|       searches: [ |       searches: [ | ||||||
|         { |         { | ||||||
|           collection: alias.collection_name, |           collection: assetSchema.name, | ||||||
|           q: '*', |           q: '*', | ||||||
|           vector_query: `smartInfo.clipEmbedding:([${input.join(',')}], k:100)`, |           vector_query: `smartInfo.clipEmbedding:([${input.join(',')}], k:100)`, | ||||||
|           per_page: 250, |           per_page: 250, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user