mirror of
https://github.com/nextapps-de/flexsearch.git
synced 2025-09-26 05:19:00 +02:00
70 lines
1.5 KiB
JavaScript
70 lines
1.5 KiB
JavaScript
import { Worker as WorkerIndex } from "flexsearch/esm";
|
|
const dirname = import.meta.dirname;
|
|
|
|
(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]);
|
|
});
|
|
|
|
}());
|