diff --git a/client/components/Search/Search.vue b/client/components/Search/Search.vue
index 196fb8a..e0fbb4d 100644
--- a/client/components/Search/Search.vue
+++ b/client/components/Search/Search.vue
@@ -680,19 +680,21 @@ class Search {
info += `
`;
info += `
-Всего файлов книг:
${stat.filesCount}
+Всего файлов книг:
${stat.filesCountAll}
+Из них актуальных:
${stat.filesCount}
+Помеченных как удаленные:
${stat.filesDelCount}
-Обработано ссылок на книги:
${stat.bookCountAll}
+Обработано ссылок на файлы:
${stat.bookCountAll}
Из них актуальных:
${stat.bookCount}
Помеченных как удаленные:
${stat.bookDelCount}
Актуальных без автора:
${stat.noAuthorBookCount}
-Всего записей об авторах:
${stat.authorCountAll}
-Записей без соавторов:
${stat.authorCount}
+Всего имен авторов:
${stat.authorCountAll}
+Уникальных имен без соавторов:
${stat.authorCount}
С соавторами:
${stat.authorCountAll- stat.authorCount}
Уникальных названий книг:
${stat.titleCount}
-Уникальных серий:
${stat.seriesCount}
+Уникальных названий серий:
${stat.seriesCount}
Найдено жанров:
${stat.genreCount}
Найдено языков:
${stat.langCount}
`;
diff --git a/server/core/DbCreator.js b/server/core/DbCreator.js
index 998bc61..29e43ac 100644
--- a/server/core/DbCreator.js
+++ b/server/core/DbCreator.js
@@ -464,7 +464,9 @@ class DbCreator {
//stats
const stats = {
- filesCount: 0,
+ filesCount: 0,//вычислим позднее
+ filesCountAll: 0,//вычислим позднее
+ filesDelCount: 0,//вычислим позднее
recsLoaded,
authorCount,
authorCountAll: authorArr.length,
@@ -554,10 +556,10 @@ class DbCreator {
cacheSize: (config.lowMemoryMode ? 5 : 500),
});
- callback({job: 'series optimization', jobMessage: 'Оптимизация', jobStep: 11, progress: 0});
+ callback({job: 'optimization', jobMessage: 'Оптимизация', jobStep: 11, progress: 0});
await this.optimizeSeries(db, callback);
- callback({job: 'files count', jobMessage: 'Подсчет статистики', jobStep: 12, progress: 0});
+ callback({job: 'stats count', jobMessage: 'Подсчет статистики', jobStep: 12, progress: 0});
await this.countStats(db, callback, stats);
//чистка памяти, ибо жрет как не в себя
@@ -676,22 +678,33 @@ class DbCreator {
})();
//подчсет
- const countRes = await db.select({table: 'book', count: true, where: `
- const filesSet = new Set();
+ const countRes = await db.select({table: 'book', rawResult: true, where: `
+ const files = new Set();
+ const filesDel = new Set();
- @@iter(@all(), (r) => {
+ for (const id of @all()) {
+ const r = @row(id);
const file = ${"`${r.folder}/${r.file}.${r.ext}`"};
- if (filesSet.has(file)) {
- return false;
+ if (!r.del) {
+ files.add(file);
} else {
- filesSet.add(file);
- return true;
+ filesDel.add(file);
}
- });
+ }
+
+ for (const file of filesDel)
+ if (files.has(file))
+ filesDel.delete(file);
+
+ return {filesCount: files.size, filesDelCount: filesDel.size};
`});
- if (countRes.length)
- stats.filesCount = countRes[0].count;
+ if (countRes.length) {
+ const res = countRes[0].rawResult;
+ stats.filesCount = res.filesCount;
+ stats.filesCountAll = res.filesCount + res.filesDelCount;
+ stats.filesDelCount = res.filesDelCount;
+ }
countDone = true;
}