firestore-search-engine
Version:
Firestore Search Engine is a powerful helper library for enhancing search functionality in Firestore. Designed to handle misspellings, prefixes, and phonetic matching, this package generates multiple search variations for optimized approximate search resu
1 lines • 11.8 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../src/shared/vectorize.ts","../src/indexes/Indexes.ts","../src/indexes/IndexesAll.ts","../src/shared/levenshteinDistance.ts","../src/search/Search.ts","../src/shared/rankResults.ts","../src/utils/objects/deepEqual.ts","../src/shared/getDiffFromDocumentUpdate.ts","../src/FirestoreSearchEngine.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["embeddingModel","async","fse_vectorizeText","text","maxLength","length","documents","model","FlagEmbedding","init","EmbeddingModel","AllMiniLML6V2","cacheDir","executionProviders","ExecutionProvider","CPU","getEmbeddingModel","embeddings","embed","vectors","next","finalVector","value","Array","from","Indexes","constructor","firestoreInstance","fieldValueInstance","config","props","this","wordMaxLength","wordMinLength","execute","typos","inputField","saveWithLimitedKeywords","returnedFields","keywords","bulk","bulkWriter","cleanOldIndexes","create","collection","doc","vector","close","indexedDocumentPath","query","where","get","empty","j","docs","delete","ref","flush","IndexesAll","documentProps","documentsToIndexes","readyToBulk","element","indexedKey","fieldValue","toLowerCase","key","returnedKey","push","bulkWithLimitedKeywords","bulkData","bulkCount","document","fse_levenshteinDistance","a","b","matrix","_","i","fill","cost","Math","min","Search","limit","undefined","distanceThreshold","console","log","message","search","queryVector","querySnapshot","collectionGroup","findNearest","vectorField","distanceMeasure","_a","distanceResultField","uniqueDocs","Set","results","data","uniqueId","has","add","ranked","map","result","textSimilarityScore","c","d","e","f","g","h","finalScore","reverse","join","distance","sort","fse_rankResults","deepEqual","Timestamp","isEqual","keysA","Object","keys","keysB","includes","getDiffFromUpdatedData","before","after","changes","added","removed","forEach","typedKey","afterValue","beforeValue","settings","ignoreUndefinedProperties","Error","indexes","indexesAll","docProps","expressWrapper","app","path","startsWith","request","response","searchValue","params","json","status","error","buildError","onRequestWrapped","req","res","onCallWrapped","authCallBack","auth","HttpsError","err","onDocumentWriteWrapper","onDocumentWrittenCallBack","documentsPath","eventHandlerOptions","event","updatedFieldValue","_b","onDocumentUpdateWrapper","instanceOfOnDocumentUpdated","onDocumentDeletedWrapper","instanceOfOnDocumentDeleted","querySnap","index","trace","stack","JSON","stringify"],"mappings":"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"}