mirror of
https://github.com/nextapps-de/flexsearch.git
synced 2025-08-08 07:06:59 +02:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
const { Index } = require("flexsearch");
|
|
const Sqlite = require("flexsearch/db/sqlite");
|
|
// const Postgres = require("flexsearch/db/postgres");
|
|
// const MongoDB = require("flexsearch/db/mongodb");
|
|
// const Redis = require("flexsearch/db/redis");
|
|
// const Clickhouse = require("flexsearch/db/clickhouse");
|
|
|
|
(async function(){
|
|
|
|
// create DB instance with namespace
|
|
const db = new Sqlite("my-store");
|
|
|
|
// create a simple index which can store id-content-pairs
|
|
const index = new Index({
|
|
tokenize: "forward"
|
|
});
|
|
|
|
// mount database to the index
|
|
await index.mount(db);
|
|
// await index.destroy();
|
|
// await index.mount(db);
|
|
|
|
// 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 data to the index
|
|
data.forEach((item, id) => {
|
|
index.add(id, item);
|
|
});
|
|
|
|
// transfer changes (bulk)
|
|
await index.commit();
|
|
|
|
// perform query
|
|
const result = await index.search({
|
|
query: "cute cat"
|
|
});
|
|
|
|
// display results
|
|
result.forEach(i => {
|
|
console.log(data[i]);
|
|
});
|
|
|
|
}()); |