vietnamese-text-search
Version:
Text search for vietnamese.
14 lines • 1.57 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _utils=require("./utils"),_default={/**
* @param {string} rawText
* @param {boolean} toLower
* @returns {{keywords: Keyword[], pureKeywords: Keyword[]}}
*/extractKeywordsFromText(rawText,toLower=!1){const tokens=(0,_utils.tokenize)(rawText,toLower),keywords=[...new Set(tokens)],pureKeywords=keywords.map(kw=>(0,_utils.removeAccents)(kw));return{keywords,pureKeywords}},/**
* @param {string[]} textArr
* @param {boolean} toLower
* @returns {Promise<[{keywords: Keyword[], pureKeywords: Keyword[]}]>}
*/async extractKeywordsFromManyTexts(textArr=[],toLower=!1){const results=await Promise.all(textArr.map(text=>this.extractKeywordsFromText(text,toLower)));return results},/**
* @param {TextObject[]} textObjs
* @param {ExtractOptions} extractOptions
* @returns {Promise<[{keywords: Keyword[], pureKeywords: Keyword[], textKey: string, textValue: string}]>}
*/async extractKeywordsFromManyTextObjs(textObjs=[],{toLower=!1,textKeyName=configs.DefaultKeyName,textValueName=configs.DefaultValueName}){try{const textArr=textObjs.map(textObj=>textObj[textValueName]),extractedKeywordsArr=await this.extractKeywordsFromManyTexts(textArr,toLower),extractedKeywordObjs=textObjs.map((textObj,idx)=>({...textObj,...extractedKeywordsArr[idx]}));// output: [{ keywords: [], pureKeywords: [] },..]
return extractedKeywordObjs}catch(err){throw(0,_utils.log)(`extractKeywordsFromManyTextObjs error`),(0,_utils.log)(err),err}}};exports.default=_default;