Улучшение поисковой базы
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
const InpxParser = require('./InpxParser');
|
const InpxParser = require('./InpxParser');
|
||||||
const utils = require('./utils');
|
const utils = require('./utils');
|
||||||
|
|
||||||
|
const emptyFieldValue = '@';
|
||||||
|
|
||||||
class DbCreator {
|
class DbCreator {
|
||||||
constructor(config) {
|
constructor(config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
@@ -44,7 +46,7 @@ class DbCreator {
|
|||||||
|
|
||||||
const splitAuthor = (author) => {
|
const splitAuthor = (author) => {
|
||||||
if (!author) {
|
if (!author) {
|
||||||
author = 'Автор не указан';
|
author = emptyFieldValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const result = author.split(',');
|
const result = author.split(',');
|
||||||
@@ -127,7 +129,9 @@ class DbCreator {
|
|||||||
|
|
||||||
//теперь можно создавать остальные поисковые таблицы
|
//теперь можно создавать остальные поисковые таблицы
|
||||||
const parseField = (fieldValue, fieldMap, fieldArr, authorIds) => {
|
const parseField = (fieldValue, fieldMap, fieldArr, authorIds) => {
|
||||||
if (fieldValue) {
|
if (!fieldValue)
|
||||||
|
fieldValue = emptyFieldValue;
|
||||||
|
|
||||||
const value = fieldValue.toLowerCase();
|
const value = fieldValue.toLowerCase();
|
||||||
|
|
||||||
let fieldRec;
|
let fieldRec;
|
||||||
@@ -143,7 +147,6 @@ class DbCreator {
|
|||||||
for (const id of authorIds) {
|
for (const id of authorIds) {
|
||||||
fieldRec.authorId.add(id);
|
fieldRec.authorId.add(id);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const parseBookRec = (rec) => {
|
const parseBookRec = (rec) => {
|
||||||
@@ -165,7 +168,9 @@ class DbCreator {
|
|||||||
parseField(rec.title, titleMap, titleArr, authorIds);
|
parseField(rec.title, titleMap, titleArr, authorIds);
|
||||||
|
|
||||||
//жанры
|
//жанры
|
||||||
if (rec.genre) {
|
if (!rec.genre)
|
||||||
|
rec.genre = emptyFieldValue;
|
||||||
|
|
||||||
const genre = rec.genre.split(',');
|
const genre = rec.genre.split(',');
|
||||||
|
|
||||||
for (const g of genre) {
|
for (const g of genre) {
|
||||||
@@ -183,7 +188,6 @@ class DbCreator {
|
|||||||
genreRec.authorId.add(id);
|
genreRec.authorId.add(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//языки
|
//языки
|
||||||
parseField(rec.lang, langMap, langArr, authorIds);
|
parseField(rec.lang, langMap, langArr, authorIds);
|
||||||
|
|||||||
Reference in New Issue
Block a user