Update getMergedSecondarySearchResults to use findTermsExactBulk

This commit is contained in:
toasted-nutbread 2019-10-19 12:42:26 -04:00
parent 4446cbeabb
commit 97de7883a3

View File

@ -70,29 +70,34 @@ class Translator {
} }
async getMergedSecondarySearchResults(text, expressionsMap, secondarySearchTitles) { async getMergedSecondarySearchResults(text, expressionsMap, secondarySearchTitles) {
const secondarySearchResults = [];
if (secondarySearchTitles.length === 0) { if (secondarySearchTitles.length === 0) {
return secondarySearchResults; return [];
} }
const expressionList = [];
const readingList = [];
for (const expression of expressionsMap.keys()) { for (const expression of expressionsMap.keys()) {
if (expression === text) { if (expression === text) { continue; }
continue;
}
for (const reading of expressionsMap.get(expression).keys()) { for (const reading of expressionsMap.get(expression).keys()) {
for (const definition of await this.database.findTermsExact(expression, reading, secondarySearchTitles)) { expressionList.push(expression);
const definitionTags = await this.expandTags(definition.definitionTags, definition.dictionary); readingList.push(reading);
definitionTags.push(dictTagBuildSource(definition.dictionary));
definition.definitionTags = definitionTags;
const termTags = await this.expandTags(definition.termTags, definition.dictionary);
definition.termTags = termTags;
secondarySearchResults.push(definition);
}
} }
} }
return secondarySearchResults; const definitions = await this.database.findTermsExactBulk(expressionList, readingList, secondarySearchTitles);
for (const definition of definitions) {
const definitionTags = await this.expandTags(definition.definitionTags, definition.dictionary);
definitionTags.push(dictTagBuildSource(definition.dictionary));
definition.definitionTags = definitionTags;
const termTags = await this.expandTags(definition.termTags, definition.dictionary);
definition.termTags = termTags;
}
if (definitions.length > 1) {
definitions.sort((a, b) => a.index - b.index);
}
return definitions;
} }
async getMergedDefinition(text, dictionaries, sequencedDefinition, defaultDefinitions, secondarySearchTitles, mergedByTermIndices) { async getMergedDefinition(text, dictionaries, sequencedDefinition, defaultDefinitions, secondarySearchTitles, mergedByTermIndices) {