const { Worker: WorkerIndex } = require("flexsearch"); (async function(){ // create a simple index which can store id-content-pairs // and await (!) for the worker response let index = await new WorkerIndex({ tokenize: "forward", config: __dirname + "/config.js" }); // some test data const data = [ 'cats abcd efgh ijkl mnop qrst uvwx cute', 'cats abcd efgh ijkl mnop qrst cute', 'cats abcd efgh ijkl mnop cute', 'cats abcd efgh ijkl cute', 'cats abcd efgh cute', 'cats abcd cute', 'cats cute' ]; // add test data data.forEach((item, id) => { index.add(id, item); }); // perform query let result = await index.search({ query: "cute cat", }); // display results result.forEach(i => { console.log(data[i]); }); // ----------------------- // EXPORT // ----------------------- await index.export(function(){ // do nothing here }); index = await new WorkerIndex({ tokenize: "forward", config: __dirname + "/config.js" }); // ----------------------- // IMPORT // ----------------------- await index.import(); // perform query result = await index.search({ query: "cute cat", }); // display results console.log("-------------------------------------"); result.forEach(i => { console.log(data[i]); }); }());