mirror of
https://github.com/immich-app/immich.git
synced 2024-12-25 10:43:13 +02:00
feat(server): Fallback to text search if machine-learning is disabled (#2015)
This commit is contained in:
parent
d7bfab7b13
commit
dd02f1025f
@ -99,21 +99,18 @@ export class SearchService {
|
||||
this.assertEnabled();
|
||||
|
||||
const query = dto.q || dto.query || '*';
|
||||
const strategy = dto.clip ? SearchStrategy.CLIP : SearchStrategy.TEXT;
|
||||
const strategy = dto.clip && MACHINE_LEARNING_ENABLED ? SearchStrategy.CLIP : SearchStrategy.TEXT;
|
||||
const filters = { userId: authUser.id, ...dto };
|
||||
|
||||
let assets: SearchResult<AssetEntity>;
|
||||
switch (strategy) {
|
||||
case SearchStrategy.TEXT:
|
||||
assets = await this.searchRepository.searchAssets(query, filters);
|
||||
break;
|
||||
case SearchStrategy.CLIP:
|
||||
default:
|
||||
if (!MACHINE_LEARNING_ENABLED) {
|
||||
throw new BadRequestException('Machine Learning is disabled');
|
||||
}
|
||||
const clip = await this.machineLearning.encodeText(query);
|
||||
assets = await this.searchRepository.vectorSearch(clip, filters);
|
||||
case SearchStrategy.TEXT:
|
||||
default:
|
||||
assets = await this.searchRepository.searchAssets(query, filters);
|
||||
break;
|
||||
}
|
||||
|
||||
const albums = await this.searchRepository.searchAlbums(query, filters);
|
||||
|
Loading…
Reference in New Issue
Block a user