fix(server): search and explore issues (#2029)

* fix: send assets to typesense in batches

* fix: run classs transformer on search endpoint

* chore: log typesense filters
This commit is contained in:
Jason Rasmussen
2023-03-20 16:16:32 -04:00
committed by GitHub
parent deb1e7f41f
commit 73a2063d96
9 changed files with 423 additions and 20 deletions

View File

@@ -145,7 +145,15 @@ export class SearchService {
// TODO: do this in batches based on searchIndexVersion
const assets = this.patchAssets(await this.assetRepository.getAll({ isVisible: true }));
this.logger.log(`Indexing ${assets.length} assets`);
await this.searchRepository.importAssets(assets, true);
const chunkSize = 1000;
for (let i = 0; i < assets.length; i += chunkSize) {
const end = i + chunkSize;
const chunk = assets.slice(i, end);
const done = end >= assets.length - 1;
await this.searchRepository.importAssets(chunk, done);
}
this.logger.debug('Finished re-indexing all assets');
} catch (error: any) {
this.logger.error(`Unable to index all assets`, error?.stack);

View File

@@ -365,7 +365,11 @@ export class TypesenseRepository implements ISearchRepository {
}
}
return _filters.join(' && ');
const result = _filters.join(' && ');
this.logger.debug(`Album filters are: ${result}`);
return result;
}
private getAssetFilters(filters: SearchFilter) {
@@ -382,6 +386,11 @@ export class TypesenseRepository implements ISearchRepository {
_filters.push(`${item.name}:${value}`);
}
}
return _filters.join(' && ');
const result = _filters.join(' && ');
this.logger.debug(`Asset filters are: ${result}`);
return result;
}
}