diff --git a/README.md b/README.md index 400c8a5..2f51477 100644 --- a/README.md +++ b/README.md @@ -72,21 +72,39 @@ All persistent variants are optimized for larger sized indexes under heavy workl ### Example Node.js -- [nodejs-document](example/nodejs-document) - - [commonjs](example/nodejs-document/commonjs) - - [esm](example/nodejs-document/esm) -- [nodejs-persistent](example/nodejs-persistent) - - [commonjs](example/nodejs-persistent/commonjs) - - [esm](example/nodejs-persistent/esm) -- [nodejs-worker](example/nodejs-worker) - - [commonjs](example/nodejs-worker/commonjs) - - [esm](example/nodejs-worker/esm) -- [nodejs-worker-persistent](example/nodejs-worker-persistent) - - [commonjs](example/nodejs-worker-persistent/commonjs) - - [esm](example/nodejs-worker-persistent/esm) +- [nodejs-commonjs](example/nodejs-commonjs): + - [document](example/nodejs-commonjs/document) + - [document-persistent](example/nodejs-commonjs/document-persistent) + - [document-worker](example/nodejs-commonjs/document-worker) + - [document-worker-extern-config](example/nodejs-commonjs/document-worker-extern-config) +- [nodejs-esm](example/nodejs-esm): + - [document](example/nodejs-esm/document) + - [document-persistent](example/nodejs-esm/document-persistent) + - [document-worker](example/nodejs-esm/document-worker) + - [document-worker-extern-config](example/nodejs-esm/document-worker-extern-config) + - [language-packs](example/nodejs-esm/language-packs) ### Example Browser +- [browser-legacy](example/browser-legacy): + - [basic](example/browser-legacy/basic) + - [basic-persistent](example/browser-legacy/basic-persistent) + - [basic-suggestion](example/browser-legacy/basic-suggestion) + - [basic-worker](example/browser-legacy/basic-worker) + - [document](example/browser-legacy/document) + - [document-persistent](example/browser-legacy/document-persistent) + - [document-worker](example/browser-legacy/document-worker) +- [browser-module](example/browser-module): + - [basic](example/browser-module/basic) + - [basic-persistent](example/browser-module/basic-persistent) + - [basic-suggestion](example/browser-module/basic-suggestion) + - [basic-worker](example/browser-module/basic-worker) + - [basic-worker-extern-config](example/browser-module/basic-worker-extern-config) + - [document](example/browser-module/document) + - [document-persistent](example/browser-module/document-persistent) + - [document-worker](example/browser-module/document-worker) + - [document-worker-extern-config](example/browser-module/document-worker-extern-config) + ```js import FlexSearchIndex from "./index.js"; import Database from "./db/indexeddb/index.js"; diff --git a/dist/flexsearch.bundle.debug.js b/dist/flexsearch.bundle.debug.js index cf9e343..b5e056f 100644 --- a/dist/flexsearch.bundle.debug.js +++ b/dist/flexsearch.bundle.debug.js @@ -1498,7 +1498,6 @@ function W(a = {}) { let c = "undefined" !== typeof self ? self._factory : "undefined" !== typeof window ? window._factory : null; c && (c = c.toString()); const d = "undefined" === typeof window, e = this, f = Pa(c, d, a.worker); - f.worker = !0; return f.then ? f.then(function(g) { return b.call(e, g); }) : b.call(this, f); @@ -1522,7 +1521,8 @@ function X(a) { }; } function Pa(a, b, c) { - return b ? "undefined" !== typeof module ? new (require("worker_threads")["Worker"])(__dirname + "/node/node.js") : import("worker_threads").then(function(worker){ return new worker["Worker"]((1,eval)("import.meta.dirname") + "/node/node.mjs"); }) : a ? new window.Worker(URL.createObjectURL(new Blob(["onmessage=" + Na.toString()], {type:"text/javascript"}))) : new window.Worker(B(c) ? c : (0,eval)("import.meta.url").replace("/worker.js", "/worker/worker.js"), {type:"module"}); + return b ? "undefined" !== typeof module ? new (require("worker_threads")["Worker"])(__dirname + "/node/node.js") : import("worker_threads").then(function(worker){ return new worker["Worker"]((1,eval)("import.meta.dirname") + "/node/node.mjs"); }) : a ? new window.Worker(URL.createObjectURL(new Blob(["onmessage=" + Na.toString()], {type:"text/javascript"}))) : new window.Worker(B(c) ? c : (0,eval)("import.meta.url").replace("/worker.js", "/worker/worker.js").replace("flexsearch.bundle.module.min.js", + "module/worker/worker.js"), {type:"module"}); } ;Y.prototype.add = function(a, b, c) { C(a) && (b = a, a = ca(b, this.key)); diff --git a/dist/flexsearch.bundle.min.js b/dist/flexsearch.bundle.min.js index 53aaf64..ddf9803 100644 --- a/dist/flexsearch.bundle.min.js +++ b/dist/flexsearch.bundle.min.js @@ -56,10 +56,10 @@ u.import=function(a,b){if(b)switch(B(b)&&(b=JSON.parse(b)),a){case "cfg":this.h= u.serialize=function(a=!0){if(!this.reg.size)return"";let b="",c="";for(var d of this.reg.keys())c||(c=typeof d),b+=(b?",":"")+("string"===c?'"'+d+'"':d);b="index.reg=new Set(["+b+"]);";d="";for(var e of this.map.entries()){var f=e[0],g=e[1],h="";for(let m=0,n;m + + + + + Example: browser-basic-persistent + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/basic-suggestion/index.html b/example/browser-legacy/basic-suggestion/index.html new file mode 100644 index 0000000..81fe991 --- /dev/null +++ b/example/browser-legacy/basic-suggestion/index.html @@ -0,0 +1,52 @@ + + + + + + Example: browser-basic-suggestion + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/basic-worker/index.html b/example/browser-legacy/basic-worker/index.html new file mode 100644 index 0000000..188e677 --- /dev/null +++ b/example/browser-legacy/basic-worker/index.html @@ -0,0 +1,53 @@ + + + + + + Example: browser-basic-worker + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/basic/index.html b/example/browser-legacy/basic/index.html new file mode 100644 index 0000000..8b7a0aa --- /dev/null +++ b/example/browser-legacy/basic/index.html @@ -0,0 +1,49 @@ + + + + + + Example: browser-basic + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/document-persistent/index.html b/example/browser-legacy/document-persistent/index.html new file mode 100644 index 0000000..e0b7ec5 --- /dev/null +++ b/example/browser-legacy/document-persistent/index.html @@ -0,0 +1,143 @@ + + + + + + Example: browser-document-persistent + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/document-worker/index.html b/example/browser-legacy/document-worker/index.html new file mode 100644 index 0000000..5952791 --- /dev/null +++ b/example/browser-legacy/document-worker/index.html @@ -0,0 +1,135 @@ + + + + + + Example: browser-document-worker + + + + + + \ No newline at end of file diff --git a/example/browser-legacy/document/index.html b/example/browser-legacy/document/index.html new file mode 100644 index 0000000..e709016 --- /dev/null +++ b/example/browser-legacy/document/index.html @@ -0,0 +1,131 @@ + + + + + + Example: browser-document + + + + + + \ No newline at end of file diff --git a/example/browser-module/basic-persistent/index.html b/example/browser-module/basic-persistent/index.html new file mode 100644 index 0000000..e0b4d95 --- /dev/null +++ b/example/browser-module/basic-persistent/index.html @@ -0,0 +1,62 @@ + + + + + + Example: browser-basic-persistent + + + + + \ No newline at end of file diff --git a/example/browser-module/basic-suggestion/index.html b/example/browser-module/basic-suggestion/index.html new file mode 100644 index 0000000..4bcbe03 --- /dev/null +++ b/example/browser-module/basic-suggestion/index.html @@ -0,0 +1,52 @@ + + + + + + Example: browser-basic-suggestion + + + + + \ No newline at end of file diff --git a/example/browser-module/basic-worker-extern-config/index.html b/example/browser-module/basic-worker-extern-config/index.html new file mode 100644 index 0000000..c8d6b09 --- /dev/null +++ b/example/browser-module/basic-worker-extern-config/index.html @@ -0,0 +1,52 @@ + + + + + + Example: browser-basic-worker-extern-config + + + + + \ No newline at end of file diff --git a/example/browser-module/basic-worker/index.html b/example/browser-module/basic-worker/index.html new file mode 100644 index 0000000..f9d7373 --- /dev/null +++ b/example/browser-module/basic-worker/index.html @@ -0,0 +1,52 @@ + + + + + + Example: browser-basic-worker + + + + + \ No newline at end of file diff --git a/example/browser-module/basic/index.html b/example/browser-module/basic/index.html new file mode 100644 index 0000000..b3cf0dd --- /dev/null +++ b/example/browser-module/basic/index.html @@ -0,0 +1,55 @@ + + + + + + Example: browser-basic + + + + + \ No newline at end of file diff --git a/example/browser-module/document-persistent/index.html b/example/browser-module/document-persistent/index.html new file mode 100644 index 0000000..73c38e1 --- /dev/null +++ b/example/browser-module/document-persistent/index.html @@ -0,0 +1,140 @@ + + + + + + Example: browser-document-persistent + + + + + \ No newline at end of file diff --git a/example/browser-module/document-worker-extern-config/config.originalTitle.js b/example/browser-module/document-worker-extern-config/config.originalTitle.js new file mode 100644 index 0000000..872f517 --- /dev/null +++ b/example/browser-module/document-worker-extern-config/config.originalTitle.js @@ -0,0 +1,17 @@ +import { Encoder, Charset } from "https://rawcdn.githack.com/nextapps-de/flexsearch/v0.8-preview/dist/flexsearch.bundle.module.min.js"; +import EnglishPreset from "https://rawcdn.githack.com/nextapps-de/flexsearch/v0.8-preview/dist/module/lang/en.js"; + +export default { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/browser-module/document-worker-extern-config/config.primaryTitle.js b/example/browser-module/document-worker-extern-config/config.primaryTitle.js new file mode 100644 index 0000000..872f517 --- /dev/null +++ b/example/browser-module/document-worker-extern-config/config.primaryTitle.js @@ -0,0 +1,17 @@ +import { Encoder, Charset } from "https://rawcdn.githack.com/nextapps-de/flexsearch/v0.8-preview/dist/flexsearch.bundle.module.min.js"; +import EnglishPreset from "https://rawcdn.githack.com/nextapps-de/flexsearch/v0.8-preview/dist/module/lang/en.js"; + +export default { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/browser-module/document-worker-extern-config/index.html b/example/browser-module/document-worker-extern-config/index.html new file mode 100644 index 0000000..28a74c4 --- /dev/null +++ b/example/browser-module/document-worker-extern-config/index.html @@ -0,0 +1,130 @@ + + + + + + Example: browser-document-worker-extern-config + + + + + \ No newline at end of file diff --git a/example/browser-module/document-worker/index.html b/example/browser-module/document-worker/index.html new file mode 100644 index 0000000..520f4e7 --- /dev/null +++ b/example/browser-module/document-worker/index.html @@ -0,0 +1,131 @@ + + + + + + Example: browser-document-worker + + + + + \ No newline at end of file diff --git a/example/browser-module/document/index.html b/example/browser-module/document/index.html new file mode 100644 index 0000000..b46665a --- /dev/null +++ b/example/browser-module/document/index.html @@ -0,0 +1,129 @@ + + + + + + Example: browser-document + + + + + \ No newline at end of file diff --git a/example/nodejs-commonjs/document-persistent/README.md b/example/nodejs-commonjs/document-persistent/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-commonjs/document-persistent/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-document/data.json b/example/nodejs-commonjs/document-persistent/data.json similarity index 100% rename from example/nodejs-document/data.json rename to example/nodejs-commonjs/document-persistent/data.json diff --git a/example/nodejs-persistent/commonjs/index.js b/example/nodejs-commonjs/document-persistent/index.js similarity index 95% rename from example/nodejs-persistent/commonjs/index.js rename to example/nodejs-commonjs/document-persistent/index.js index 7795153..7eabe55 100644 --- a/example/nodejs-persistent/commonjs/index.js +++ b/example/nodejs-commonjs/document-persistent/index.js @@ -6,7 +6,7 @@ const Sqlite = require("flexsearch/db/sqlite"); // const Clickhouse = require("flexsearch/db/clickhouse"); // loading test data -const data = require(__dirname + "/../data.json"); +const data = require(__dirname + "/data.json"); (async function(){ @@ -35,6 +35,7 @@ const data = require(__dirname + "/../data.json"); } }); + // mount database to the index await document.mount(db); // await document.destroy(); // await document.mount(db); diff --git a/example/nodejs-persistent/package.json b/example/nodejs-commonjs/document-persistent/package.json similarity index 70% rename from example/nodejs-persistent/package.json rename to example/nodejs-commonjs/document-persistent/package.json index 5ee75c9..20bc525 100644 --- a/example/nodejs-persistent/package.json +++ b/example/nodejs-commonjs/document-persistent/package.json @@ -1,5 +1,5 @@ { - "name": "nodejs-persistent", + "name": "nodejs-commonjs-document-persistent", "dependencies": { "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview", "sqlite3": "^5.1.7" diff --git a/example/nodejs-commonjs/document-worker-extern-config/README.md b/example/nodejs-commonjs/document-worker-extern-config/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-commonjs/document-worker-extern-config/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-commonjs/document-worker-extern-config/config.originalTitle.js b/example/nodejs-commonjs/document-worker-extern-config/config.originalTitle.js new file mode 100644 index 0000000..3f28885 --- /dev/null +++ b/example/nodejs-commonjs/document-worker-extern-config/config.originalTitle.js @@ -0,0 +1,17 @@ +const { Encoder, Charset } = require("flexsearch"); +const EnglishPreset = require("flexsearch/lang/en"); + +module.exports = { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/nodejs-commonjs/document-worker-extern-config/config.primaryTitle.js b/example/nodejs-commonjs/document-worker-extern-config/config.primaryTitle.js new file mode 100644 index 0000000..3f28885 --- /dev/null +++ b/example/nodejs-commonjs/document-worker-extern-config/config.primaryTitle.js @@ -0,0 +1,17 @@ +const { Encoder, Charset } = require("flexsearch"); +const EnglishPreset = require("flexsearch/lang/en"); + +module.exports = { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/nodejs-persistent/data.json b/example/nodejs-commonjs/document-worker-extern-config/data.json similarity index 100% rename from example/nodejs-persistent/data.json rename to example/nodejs-commonjs/document-worker-extern-config/data.json diff --git a/example/nodejs-commonjs/document-worker-extern-config/index.js b/example/nodejs-commonjs/document-worker-extern-config/index.js new file mode 100644 index 0000000..08c5f43 --- /dev/null +++ b/example/nodejs-commonjs/document-worker-extern-config/index.js @@ -0,0 +1,51 @@ +const { Document } = require("flexsearch"); + +// loading test data +const data = require(__dirname + "/data.json"); + +(async function(){ + + // create the document and await (!) for the instance response + const document = await new Document({ + worker: true, + document: { + id: "tconst", + store: true, + index: [{ + field: "primaryTitle", + config: __dirname + "/config.primaryTitle.js" + },{ + field: "originalTitle", + config: __dirname + "/config.primaryTitle.js" + }], + tag: [{ + field: "startYear" + },{ + field: "genres" + }] + } + }); + + // add test data + for(let i = 0; i < data.length; i++){ + await document.add(data[i]); + } + + // perform a query + const result = await document.search({ + query: "karmen", + tag: { + "startYear": "1894", + "genres": [ + "Documentary", + "Short" + ] + }, + suggest: true, + enrich: true, + merge: true + }); + + console.log(result); + +}()); diff --git a/example/nodejs-commonjs/document-worker-extern-config/package.json b/example/nodejs-commonjs/document-worker-extern-config/package.json new file mode 100644 index 0000000..e715c7b --- /dev/null +++ b/example/nodejs-commonjs/document-worker-extern-config/package.json @@ -0,0 +1,6 @@ +{ + "name": "nodejs-commonjs-document-worker-extern-config", + "dependencies": { + "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" + } +} diff --git a/example/nodejs-commonjs/document-worker/README.md b/example/nodejs-commonjs/document-worker/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-commonjs/document-worker/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-worker-persistent/data.json b/example/nodejs-commonjs/document-worker/data.json similarity index 100% rename from example/nodejs-worker-persistent/data.json rename to example/nodejs-commonjs/document-worker/data.json diff --git a/example/nodejs-worker/commonjs/index.js b/example/nodejs-commonjs/document-worker/index.js similarity index 83% rename from example/nodejs-worker/commonjs/index.js rename to example/nodejs-commonjs/document-worker/index.js index 673f66a..deebd28 100644 --- a/example/nodejs-worker/commonjs/index.js +++ b/example/nodejs-commonjs/document-worker/index.js @@ -1,7 +1,7 @@ const { Document } = require("flexsearch"); // loading test data -const data = require(__dirname + "/../data.json"); +const data = require(__dirname + "/data.json"); (async function(){ @@ -14,11 +14,11 @@ const data = require(__dirname + "/../data.json"); index: [{ field: "primaryTitle", tokenize: "forward", - config: __dirname + "/config.primaryTitle.js" + encoder: "LatinBalance" },{ field: "originalTitle", tokenize: "forward", - config: __dirname + "/config.originalTitle.js" + encoder: "LatinBalance" }], tag: [{ field: "startYear" @@ -35,7 +35,7 @@ const data = require(__dirname + "/../data.json"); // perform a query const result = await document.search({ - query: "carmen", + query: "karmen", tag: { "startYear": "1894", "genres": [ diff --git a/example/nodejs-commonjs/document-worker/package.json b/example/nodejs-commonjs/document-worker/package.json new file mode 100644 index 0000000..cdf2c51 --- /dev/null +++ b/example/nodejs-commonjs/document-worker/package.json @@ -0,0 +1,6 @@ +{ + "name": "nodejs-commonjs-document-worker", + "dependencies": { + "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" + } +} diff --git a/example/nodejs-commonjs/document/README.md b/example/nodejs-commonjs/document/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-commonjs/document/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-worker/data.json b/example/nodejs-commonjs/document/data.json similarity index 100% rename from example/nodejs-worker/data.json rename to example/nodejs-commonjs/document/data.json diff --git a/example/nodejs-document/commonjs/index.js b/example/nodejs-commonjs/document/index.js similarity index 83% rename from example/nodejs-document/commonjs/index.js rename to example/nodejs-commonjs/document/index.js index ec6037e..1badc89 100644 --- a/example/nodejs-document/commonjs/index.js +++ b/example/nodejs-commonjs/document/index.js @@ -1,7 +1,7 @@ const { Document, Charset } = require("flexsearch"); // loading test data -const data = require(__dirname + "/../data.json"); +const data = require(__dirname + "/data.json"); // create the document index const document = new Document({ @@ -11,11 +11,11 @@ const document = new Document({ index: [{ field: "primaryTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance },{ field: "originalTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance }], tag: [{ field: "startYear" @@ -32,7 +32,7 @@ for(let i = 0; i < data.length; i++){ // perform a query const result = document.search({ - query: "carmencita", + query: "karmen", tag: { "startYear": "1894", "genres": [ diff --git a/example/nodejs-worker/package.json b/example/nodejs-commonjs/document/package.json similarity index 70% rename from example/nodejs-worker/package.json rename to example/nodejs-commonjs/document/package.json index 50b0b2d..2fbc471 100644 --- a/example/nodejs-worker/package.json +++ b/example/nodejs-commonjs/document/package.json @@ -1,5 +1,5 @@ { - "name": "nodejs-worker", + "name": "nodejs-commonjs-document", "dependencies": { "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" } diff --git a/example/nodejs-document/esm/package.json b/example/nodejs-document/esm/package.json deleted file mode 100644 index 3dbc1ca..0000000 --- a/example/nodejs-document/esm/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} diff --git a/example/nodejs-esm/document-persistent/README.md b/example/nodejs-esm/document-persistent/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-esm/document-persistent/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-esm/document-persistent/data.json b/example/nodejs-esm/document-persistent/data.json new file mode 100644 index 0000000..1fd5660 --- /dev/null +++ b/example/nodejs-esm/document-persistent/data.json @@ -0,0 +1,141 @@ +[ + { + "tconst": "tt0000001", + "titleType": "short", + "primaryTitle": "Carmencita", + "originalTitle": "Carmencita", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000002", + "titleType": "short", + "primaryTitle": "Le clown et ses chiens", + "originalTitle": "Le clown et ses chiens", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "5", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000003", + "titleType": "short", + "primaryTitle": "Pauvre Pierrot", + "originalTitle": "Pauvre Pierrot", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "4", + "genres": [ + "Animation", + "Comedy", + "Romance" + ] + }, + { + "tconst": "tt0000004", + "titleType": "short", + "primaryTitle": "Un bon bock", + "originalTitle": "Un bon bock", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "12", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000005", + "titleType": "short", + "primaryTitle": "Blacksmith Scene", + "originalTitle": "Blacksmith Scene", + "isAdult": 0, + "startYear": "1893", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Comedy", + "Short" + ] + }, + { + "tconst": "tt0000006", + "titleType": "short", + "primaryTitle": "Chinese Opium Den", + "originalTitle": "Chinese Opium Den", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short" + ] + }, + { + "tconst": "tt0000007", + "titleType": "short", + "primaryTitle": "Corbett and Courtney Before the Kinetograph", + "originalTitle": "Corbett and Courtney Before the Kinetograph", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short", + "Sport" + ] + }, + { + "tconst": "tt0000008", + "titleType": "short", + "primaryTitle": "Edison Kinetoscopic Record of a Sneeze", + "originalTitle": "Edison Kinetoscopic Record of a Sneeze", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000009", + "titleType": "movie", + "primaryTitle": "Miss Jerry", + "originalTitle": "Miss Jerry", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "45", + "genres": [ + "Romance" + ] + }, + { + "tconst": "tt0000010", + "titleType": "short", + "primaryTitle": "Leaving the Factory", + "originalTitle": "La sortie de l'usine Lumière à Lyon", + "isAdult": 0, + "startYear": "1895", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + } +] \ No newline at end of file diff --git a/example/nodejs-persistent/esm/index.js b/example/nodejs-esm/document-persistent/index.js similarity index 83% rename from example/nodejs-persistent/esm/index.js rename to example/nodejs-esm/document-persistent/index.js index 4d4c99f..34c3e5d 100644 --- a/example/nodejs-persistent/esm/index.js +++ b/example/nodejs-esm/document-persistent/index.js @@ -1,17 +1,18 @@ import { Document, Charset } from "flexsearch/esm"; +import { promises as fs } from "fs"; +const dirname = import.meta.dirname; + import Sqlite from "flexsearch/db/sqlite"; // import Postgres from "flexsearch/db/postgres"; // import MongoDB from "flexsearch/db/mongodb"; // import Redis from "flexsearch/db/redis"; // import Clickhouse from "flexsearch/db/clickhouse"; -import fs from "fs"; - -const dirname = import.meta.dirname; -// loading test data -const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); (async function(){ + // loading test data + const data = JSON.parse(await fs.readFile(dirname + "/data.json")); + // create DB instance with namespace const db = new Sqlite("my-store"); @@ -23,11 +24,11 @@ const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); index: [{ field: "primaryTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance },{ field: "originalTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance }], tag: [{ field: "startYear" @@ -46,12 +47,12 @@ const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); document.add(data[i]); } - // transfer changes (bulk) + // transfer changes in bulk await document.commit(); // perform a query const result = await document.search({ - query: "carmen", + query: "karmen", tag: { "startYear": "1894", "genres": [ diff --git a/example/nodejs-worker-persistent/package.json b/example/nodejs-esm/document-persistent/package.json similarity index 64% rename from example/nodejs-worker-persistent/package.json rename to example/nodejs-esm/document-persistent/package.json index 06712a4..b5e5d6e 100644 --- a/example/nodejs-worker-persistent/package.json +++ b/example/nodejs-esm/document-persistent/package.json @@ -1,5 +1,6 @@ { - "name": "nodejs-worker-persistent", + "name": "nodejs-esm-document-persistent", + "type": "module", "dependencies": { "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview", "sqlite3": "^5.1.7" diff --git a/example/nodejs-esm/document-worker-extern-config/README.md b/example/nodejs-esm/document-worker-extern-config/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-esm/document-worker-extern-config/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-esm/document-worker-extern-config/config.originalTitle.js b/example/nodejs-esm/document-worker-extern-config/config.originalTitle.js new file mode 100644 index 0000000..566cbd0 --- /dev/null +++ b/example/nodejs-esm/document-worker-extern-config/config.originalTitle.js @@ -0,0 +1,17 @@ +import { Encoder, Charset } from "flexsearch/esm"; +import EnglishPreset from "flexsearch/esm/lang/en"; + +export default { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/nodejs-esm/document-worker-extern-config/config.primaryTitle.js b/example/nodejs-esm/document-worker-extern-config/config.primaryTitle.js new file mode 100644 index 0000000..566cbd0 --- /dev/null +++ b/example/nodejs-esm/document-worker-extern-config/config.primaryTitle.js @@ -0,0 +1,17 @@ +import { Encoder, Charset } from "flexsearch/esm"; +import EnglishPreset from "flexsearch/esm/lang/en"; + +export default { + tokenize: "forward", + encoder: new Encoder( + Charset.LatinBalance, + EnglishPreset, + { + normalize: function(str){ + return str.toLowerCase(); + }, + filter: false, + minlength: 3 + } + ) +}; \ No newline at end of file diff --git a/example/nodejs-esm/document-worker-extern-config/data.json b/example/nodejs-esm/document-worker-extern-config/data.json new file mode 100644 index 0000000..1fd5660 --- /dev/null +++ b/example/nodejs-esm/document-worker-extern-config/data.json @@ -0,0 +1,141 @@ +[ + { + "tconst": "tt0000001", + "titleType": "short", + "primaryTitle": "Carmencita", + "originalTitle": "Carmencita", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000002", + "titleType": "short", + "primaryTitle": "Le clown et ses chiens", + "originalTitle": "Le clown et ses chiens", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "5", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000003", + "titleType": "short", + "primaryTitle": "Pauvre Pierrot", + "originalTitle": "Pauvre Pierrot", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "4", + "genres": [ + "Animation", + "Comedy", + "Romance" + ] + }, + { + "tconst": "tt0000004", + "titleType": "short", + "primaryTitle": "Un bon bock", + "originalTitle": "Un bon bock", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "12", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000005", + "titleType": "short", + "primaryTitle": "Blacksmith Scene", + "originalTitle": "Blacksmith Scene", + "isAdult": 0, + "startYear": "1893", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Comedy", + "Short" + ] + }, + { + "tconst": "tt0000006", + "titleType": "short", + "primaryTitle": "Chinese Opium Den", + "originalTitle": "Chinese Opium Den", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short" + ] + }, + { + "tconst": "tt0000007", + "titleType": "short", + "primaryTitle": "Corbett and Courtney Before the Kinetograph", + "originalTitle": "Corbett and Courtney Before the Kinetograph", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short", + "Sport" + ] + }, + { + "tconst": "tt0000008", + "titleType": "short", + "primaryTitle": "Edison Kinetoscopic Record of a Sneeze", + "originalTitle": "Edison Kinetoscopic Record of a Sneeze", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000009", + "titleType": "movie", + "primaryTitle": "Miss Jerry", + "originalTitle": "Miss Jerry", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "45", + "genres": [ + "Romance" + ] + }, + { + "tconst": "tt0000010", + "titleType": "short", + "primaryTitle": "Leaving the Factory", + "originalTitle": "La sortie de l'usine Lumière à Lyon", + "isAdult": 0, + "startYear": "1895", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + } +] \ No newline at end of file diff --git a/example/nodejs-worker/esm/index.js b/example/nodejs-esm/document-worker-extern-config/index.js similarity index 75% rename from example/nodejs-worker/esm/index.js rename to example/nodejs-esm/document-worker-extern-config/index.js index 0e7a507..e21184c 100644 --- a/example/nodejs-worker/esm/index.js +++ b/example/nodejs-esm/document-worker-extern-config/index.js @@ -1,25 +1,23 @@ import { Document } from "flexsearch/esm"; -import fs from "fs"; - +import { promises as fs } from "fs"; const dirname = import.meta.dirname; -// loading test data -const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); (async function(){ - // create the document - const document = new Document({ - worker: true, + // loading test data + const data = JSON.parse(await fs.readFile(dirname + "/data.json")); + + // create the document and await (!) for the instance response + const document = await new Document({ + worker: "true", document: { id: "tconst", store: true, index: [{ field: "primaryTitle", - tokenize: "forward", config: dirname + "/config.primaryTitle.js" },{ field: "originalTitle", - tokenize: "forward", config: dirname + "/config.originalTitle.js" }], tag: [{ @@ -30,6 +28,8 @@ const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); } }); + //console.log(document) + // add test data for(let i = 0; i < data.length; i++){ await document.add(data[i]); @@ -37,7 +37,7 @@ const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); // perform a query const result = await document.search({ - query: "carmen", + query: "karmen", tag: { "startYear": "1894", "genres": [ diff --git a/example/nodejs-esm/document-worker-extern-config/package.json b/example/nodejs-esm/document-worker-extern-config/package.json new file mode 100644 index 0000000..4f2a428 --- /dev/null +++ b/example/nodejs-esm/document-worker-extern-config/package.json @@ -0,0 +1,7 @@ +{ + "name": "nodejs-esm-document-worker-extern-config", + "type": "module", + "dependencies": { + "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" + } +} diff --git a/example/nodejs-esm/document-worker/README.md b/example/nodejs-esm/document-worker/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-esm/document-worker/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-esm/document-worker/data.json b/example/nodejs-esm/document-worker/data.json new file mode 100644 index 0000000..1fd5660 --- /dev/null +++ b/example/nodejs-esm/document-worker/data.json @@ -0,0 +1,141 @@ +[ + { + "tconst": "tt0000001", + "titleType": "short", + "primaryTitle": "Carmencita", + "originalTitle": "Carmencita", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000002", + "titleType": "short", + "primaryTitle": "Le clown et ses chiens", + "originalTitle": "Le clown et ses chiens", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "5", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000003", + "titleType": "short", + "primaryTitle": "Pauvre Pierrot", + "originalTitle": "Pauvre Pierrot", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "4", + "genres": [ + "Animation", + "Comedy", + "Romance" + ] + }, + { + "tconst": "tt0000004", + "titleType": "short", + "primaryTitle": "Un bon bock", + "originalTitle": "Un bon bock", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "12", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000005", + "titleType": "short", + "primaryTitle": "Blacksmith Scene", + "originalTitle": "Blacksmith Scene", + "isAdult": 0, + "startYear": "1893", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Comedy", + "Short" + ] + }, + { + "tconst": "tt0000006", + "titleType": "short", + "primaryTitle": "Chinese Opium Den", + "originalTitle": "Chinese Opium Den", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short" + ] + }, + { + "tconst": "tt0000007", + "titleType": "short", + "primaryTitle": "Corbett and Courtney Before the Kinetograph", + "originalTitle": "Corbett and Courtney Before the Kinetograph", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short", + "Sport" + ] + }, + { + "tconst": "tt0000008", + "titleType": "short", + "primaryTitle": "Edison Kinetoscopic Record of a Sneeze", + "originalTitle": "Edison Kinetoscopic Record of a Sneeze", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000009", + "titleType": "movie", + "primaryTitle": "Miss Jerry", + "originalTitle": "Miss Jerry", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "45", + "genres": [ + "Romance" + ] + }, + { + "tconst": "tt0000010", + "titleType": "short", + "primaryTitle": "Leaving the Factory", + "originalTitle": "La sortie de l'usine Lumière à Lyon", + "isAdult": 0, + "startYear": "1895", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + } +] \ No newline at end of file diff --git a/example/nodejs-esm/document-worker/index.js b/example/nodejs-esm/document-worker/index.js new file mode 100644 index 0000000..f00b53b --- /dev/null +++ b/example/nodejs-esm/document-worker/index.js @@ -0,0 +1,55 @@ +import { Document } from "flexsearch/esm"; +import { promises as fs } from "fs"; +const dirname = import.meta.dirname; + +(async function(){ + + // loading test data + const data = JSON.parse(await fs.readFile(dirname + "/data.json")); + + // create the document and await for the instance response + const document = await new Document({ + worker: "true", + document: { + id: "tconst", + store: true, + index: [{ + field: "primaryTitle", + tokenize: "forward", + encoder: "LatinBalance" + },{ + field: "originalTitle", + tokenize: "forward", + encoder: "LatinBalance" + }], + tag: [{ + field: "startYear" + },{ + field: "genres" + }] + } + }); + + // add test data + for(let i = 0; i < data.length; i++){ + await document.add(data[i]); + } + + // perform a query + const result = await document.search({ + query: "karmen", + tag: { + "startYear": "1894", + "genres": [ + "Documentary", + "Short" + ] + }, + suggest: true, + enrich: true, + merge: true + }); + + console.log(result); + +}()); diff --git a/example/nodejs-esm/document-worker/package.json b/example/nodejs-esm/document-worker/package.json new file mode 100644 index 0000000..b98f398 --- /dev/null +++ b/example/nodejs-esm/document-worker/package.json @@ -0,0 +1,7 @@ +{ + "name": "nodejs-esm-document-worker", + "type": "module", + "dependencies": { + "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" + } +} diff --git a/example/nodejs-esm/document/README.md b/example/nodejs-esm/document/README.md new file mode 100644 index 0000000..864ef27 --- /dev/null +++ b/example/nodejs-esm/document/README.md @@ -0,0 +1,7 @@ +```bash +npm install git+https://github.com/nextapps-de/flexsearch/tree/v0.8-preview +``` + +```bash +node index.js +``` \ No newline at end of file diff --git a/example/nodejs-esm/document/data.json b/example/nodejs-esm/document/data.json new file mode 100644 index 0000000..1fd5660 --- /dev/null +++ b/example/nodejs-esm/document/data.json @@ -0,0 +1,141 @@ +[ + { + "tconst": "tt0000001", + "titleType": "short", + "primaryTitle": "Carmencita", + "originalTitle": "Carmencita", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000002", + "titleType": "short", + "primaryTitle": "Le clown et ses chiens", + "originalTitle": "Le clown et ses chiens", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "5", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000003", + "titleType": "short", + "primaryTitle": "Pauvre Pierrot", + "originalTitle": "Pauvre Pierrot", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "4", + "genres": [ + "Animation", + "Comedy", + "Romance" + ] + }, + { + "tconst": "tt0000004", + "titleType": "short", + "primaryTitle": "Un bon bock", + "originalTitle": "Un bon bock", + "isAdult": 0, + "startYear": "1892", + "endYear": "", + "runtimeMinutes": "12", + "genres": [ + "Animation", + "Short" + ] + }, + { + "tconst": "tt0000005", + "titleType": "short", + "primaryTitle": "Blacksmith Scene", + "originalTitle": "Blacksmith Scene", + "isAdult": 0, + "startYear": "1893", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Comedy", + "Short" + ] + }, + { + "tconst": "tt0000006", + "titleType": "short", + "primaryTitle": "Chinese Opium Den", + "originalTitle": "Chinese Opium Den", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short" + ] + }, + { + "tconst": "tt0000007", + "titleType": "short", + "primaryTitle": "Corbett and Courtney Before the Kinetograph", + "originalTitle": "Corbett and Courtney Before the Kinetograph", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Short", + "Sport" + ] + }, + { + "tconst": "tt0000008", + "titleType": "short", + "primaryTitle": "Edison Kinetoscopic Record of a Sneeze", + "originalTitle": "Edison Kinetoscopic Record of a Sneeze", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + }, + { + "tconst": "tt0000009", + "titleType": "movie", + "primaryTitle": "Miss Jerry", + "originalTitle": "Miss Jerry", + "isAdult": 0, + "startYear": "1894", + "endYear": "", + "runtimeMinutes": "45", + "genres": [ + "Romance" + ] + }, + { + "tconst": "tt0000010", + "titleType": "short", + "primaryTitle": "Leaving the Factory", + "originalTitle": "La sortie de l'usine Lumière à Lyon", + "isAdult": 0, + "startYear": "1895", + "endYear": "", + "runtimeMinutes": "1", + "genres": [ + "Documentary", + "Short" + ] + } +] \ No newline at end of file diff --git a/example/nodejs-document/esm/index.js b/example/nodejs-esm/document/index.js similarity index 82% rename from example/nodejs-document/esm/index.js rename to example/nodejs-esm/document/index.js index df30d03..9c53320 100644 --- a/example/nodejs-document/esm/index.js +++ b/example/nodejs-esm/document/index.js @@ -3,7 +3,7 @@ import fs from "fs"; const dirname = import.meta.dirname; // loading test data -const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); +const data = JSON.parse(fs.readFileSync(dirname + "/data.json", "utf8")); // create the document index const document = new Document({ @@ -13,11 +13,11 @@ const document = new Document({ index: [{ field: "primaryTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance },{ field: "originalTitle", tokenize: "forward", - encoder: Charset.LatinSimple + encoder: Charset.LatinBalance }], tag: [{ field: "startYear" @@ -34,7 +34,7 @@ for(let i = 0; i < data.length; i++){ // perform a query const result = document.search({ - query: "carmencita", + query: "karmen", tag: { "startYear": "1894", "genres": [ diff --git a/example/nodejs-esm/document/package.json b/example/nodejs-esm/document/package.json new file mode 100644 index 0000000..6153cac --- /dev/null +++ b/example/nodejs-esm/document/package.json @@ -0,0 +1,7 @@ +{ + "name": "nodejs-esm-document", + "type": "module", + "dependencies": { + "flexsearch": "github:nextapps-de/flexsearch#v0.8-preview" + } +} diff --git a/example/nodejs-worker-persistent/commonjs/config.genres.js b/example/nodejs-worker-persistent/commonjs/config.genres.js deleted file mode 100644 index 353b186..0000000 --- a/example/nodejs-worker-persistent/commonjs/config.genres.js +++ /dev/null @@ -1,11 +0,0 @@ -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"); - -module.exports = { - db: new Sqlite("my-store", { - field: "genres" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/commonjs/config.originalTitle.js b/example/nodejs-worker-persistent/commonjs/config.originalTitle.js deleted file mode 100644 index 91dd987..0000000 --- a/example/nodejs-worker-persistent/commonjs/config.originalTitle.js +++ /dev/null @@ -1,14 +0,0 @@ -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"); -const { Charset } = require("flexsearch"); - -module.exports = { - tokenize: "forward", - encoder: Charset.LatinSimple, - db: new Sqlite("my-store", { - field: "originalTitle" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/commonjs/config.primaryTitle.js b/example/nodejs-worker-persistent/commonjs/config.primaryTitle.js deleted file mode 100644 index f71c2de..0000000 --- a/example/nodejs-worker-persistent/commonjs/config.primaryTitle.js +++ /dev/null @@ -1,14 +0,0 @@ -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"); -const { Charset } = require("flexsearch"); - -module.exports = { - tokenize: "forward", - encoder: Charset.LatinSimple, - db: new Sqlite("my-store", { - field: "primaryTitle" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/commonjs/config.startYear.js b/example/nodejs-worker-persistent/commonjs/config.startYear.js deleted file mode 100644 index a1f4c69..0000000 --- a/example/nodejs-worker-persistent/commonjs/config.startYear.js +++ /dev/null @@ -1,11 +0,0 @@ -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"); - -module.exports = { - db: new Sqlite("my-store", { - field: "startYear" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/commonjs/index.js b/example/nodejs-worker-persistent/commonjs/index.js deleted file mode 100644 index 7a9fdc6..0000000 --- a/example/nodejs-worker-persistent/commonjs/index.js +++ /dev/null @@ -1,70 +0,0 @@ -const { Document } = 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"); - -// loading test data -const data = require(__dirname + "/../data.json"); - -(async function(){ - - // create DB instance with namespace - const db = new Sqlite("my-store"); - - // create the document index - const document = new Document({ - worker: true, - document: { - id: "tconst", - store: true, - index: [{ - field: "primaryTitle", - tokenize: "forward", - config: __dirname + "/config.primaryTitle.js" - },{ - field: "originalTitle", - tokenize: "forward", - config: __dirname + "/config.originalTitle.js" - }], - tag: [{ - field: "startYear", - config: __dirname + "/config.startYear.js" - },{ - field: "genres", - config: __dirname + "/config.genres.js" - }] - } - }); - - await document.mount(db); - // await document.destroy(); - // await document.mount(db); - - // add test data - for(let i = 0; i < data.length; i++){ - document.add(data[i]); - } - - // transfer changes (bulk) - await document.commit(); - - // perform a query - const result = await document.search({ - query: "carmen", - tag: { - "startYear": "1894", - "genres": [ - "Documentary", - "Short" - ] - }, - suggest: true, - enrich: true, - merge: true - }); - - console.log(result); - -}()); diff --git a/example/nodejs-worker-persistent/esm/config.genres.js b/example/nodejs-worker-persistent/esm/config.genres.js deleted file mode 100644 index 6239642..0000000 --- a/example/nodejs-worker-persistent/esm/config.genres.js +++ /dev/null @@ -1,11 +0,0 @@ -import Sqlite from "flexsearch/db/sqlite"; -// import Postgres from "flexsearch/db/postgres"; -// import MongoDB from "flexsearch/db/mongodb"; -// import Redis from "flexsearch/db/redis"; -// import Clickhouse from "flexsearch/db/clickhouse"; - -export default { - db: new Sqlite("my-store", { - field: "genres" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/esm/config.originalTitle.js b/example/nodejs-worker-persistent/esm/config.originalTitle.js deleted file mode 100644 index 1b4f199..0000000 --- a/example/nodejs-worker-persistent/esm/config.originalTitle.js +++ /dev/null @@ -1,14 +0,0 @@ -import Sqlite from "flexsearch/db/sqlite"; -// import Postgres from "flexsearch/db/postgres"; -// import MongoDB from "flexsearch/db/mongodb"; -// import Redis from "flexsearch/db/redis"; -// import Clickhouse from "flexsearch/db/clickhouse"; -import { Charset } from "flexsearch/esm"; - -export default { - tokenize: "forward", - encoder: Charset.LatinSimple, - db: new Sqlite("my-store", { - field: "originalTitle" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/esm/config.primaryTitle.js b/example/nodejs-worker-persistent/esm/config.primaryTitle.js deleted file mode 100644 index 8a18a1c..0000000 --- a/example/nodejs-worker-persistent/esm/config.primaryTitle.js +++ /dev/null @@ -1,14 +0,0 @@ -import Sqlite from "flexsearch/db/sqlite"; -// import Postgres from "flexsearch/db/postgres"; -// import MongoDB from "flexsearch/db/mongodb"; -// import Redis from "flexsearch/db/redis"; -// import Clickhouse from "flexsearch/db/clickhouse"; -import { Charset } from "flexsearch/esm"; - -export default { - tokenize: "forward", - encoder: Charset.LatinSimple, - db: new Sqlite("my-store", { - field: "primaryTitle" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/esm/config.startYear.js b/example/nodejs-worker-persistent/esm/config.startYear.js deleted file mode 100644 index e4bce21..0000000 --- a/example/nodejs-worker-persistent/esm/config.startYear.js +++ /dev/null @@ -1,11 +0,0 @@ -import Sqlite from "flexsearch/db/sqlite"; -// import Postgres from "flexsearch/db/postgres"; -// import MongoDB from "flexsearch/db/mongodb"; -// import Redis from "flexsearch/db/redis"; -// import Clickhouse from "flexsearch/db/clickhouse"; - -export default { - db: new Sqlite("my-store", { - field: "startYear" - }) -}; \ No newline at end of file diff --git a/example/nodejs-worker-persistent/esm/index.js b/example/nodejs-worker-persistent/esm/index.js deleted file mode 100644 index b51ffca..0000000 --- a/example/nodejs-worker-persistent/esm/index.js +++ /dev/null @@ -1,72 +0,0 @@ -import { Document } from "flexsearch/esm"; -import Sqlite from "flexsearch/esm/db/sqlite"; -// import Postgres from "flexsearch/db/postgres"; -// import MongoDB from "flexsearch/db/mongodb"; -// import Redis from "flexsearch/db/redis"; -// import Clickhouse from "flexsearch/db/clickhouse"; -import fs from "fs"; - -const dirname = import.meta.dirname; -// loading test data -const data = JSON.parse(fs.readFileSync(dirname + "/../data.json", "utf8")); - -(async function(){ - - // create DB instance with namespace - const db = new Sqlite("my-store"); - - // create the document index - const document = new Document({ - worker: true, - document: { - id: "tconst", - store: true, - index: [{ - field: "primaryTitle", - tokenize: "forward", - config: dirname + "/config.primaryTitle.js" - },{ - field: "originalTitle", - tokenize: "forward", - config: dirname + "/config.originalTitle.js" - }], - tag: [{ - field: "startYear", - config: dirname + "/config.startYear.js" - },{ - field: "genres", - config: dirname + "/config.genres.js" - }] - } - }); - - await document.mount(db); - // await document.destroy(); - // await document.mount(db); - - // add test data - for(let i = 0; i < data.length; i++){ - document.add(data[i]); - } - - // transfer changes (bulk) - await document.commit(); - - // perform a query - const result = await document.search({ - query: "carmen", - tag: { - "startYear": "1894", - "genres": [ - "Documentary", - "Short" - ] - }, - suggest: true, - enrich: true, - merge: true - }); - - console.log(result); - -}()); diff --git a/example/nodejs-worker/commonjs/config.originalTitle.js b/example/nodejs-worker/commonjs/config.originalTitle.js deleted file mode 100644 index 8071c54..0000000 --- a/example/nodejs-worker/commonjs/config.originalTitle.js +++ /dev/null @@ -1,6 +0,0 @@ -const { Charset } = require("flexsearch"); - -module.exports = { - tokenize: "forward", - encoder: Charset.LatinSimple -}; \ No newline at end of file diff --git a/example/nodejs-worker/commonjs/config.primaryTitle.js b/example/nodejs-worker/commonjs/config.primaryTitle.js deleted file mode 100644 index 8071c54..0000000 --- a/example/nodejs-worker/commonjs/config.primaryTitle.js +++ /dev/null @@ -1,6 +0,0 @@ -const { Charset } = require("flexsearch"); - -module.exports = { - tokenize: "forward", - encoder: Charset.LatinSimple -}; \ No newline at end of file diff --git a/example/nodejs-worker/esm/config.originalTitle.js b/example/nodejs-worker/esm/config.originalTitle.js deleted file mode 100644 index b894502..0000000 --- a/example/nodejs-worker/esm/config.originalTitle.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Charset } from "flexsearch/esm"; - -export default { - tokenize: "forward", - encoder: Charset.LatinSimple -}; \ No newline at end of file diff --git a/example/nodejs-worker/esm/config.primaryTitle.js b/example/nodejs-worker/esm/config.primaryTitle.js deleted file mode 100644 index b894502..0000000 --- a/example/nodejs-worker/esm/config.primaryTitle.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Charset } from "flexsearch/esm"; - -export default { - tokenize: "forward", - encoder: Charset.LatinSimple -}; \ No newline at end of file diff --git a/src/worker.js b/src/worker.js index b5c640d..314a14d 100644 --- a/src/worker.js +++ b/src/worker.js @@ -84,7 +84,7 @@ export default function WorkerIndex(options = {}){ } const worker = create(factory, is_node_js, options.worker); - worker.worker = true; + //worker.worker = true; return worker.then ? worker.then(function(worker){ return init.call(_self, worker); @@ -159,7 +159,7 @@ function create(factory, is_node_js, worker_path){ ) )) : - new window.Worker(is_string(worker_path) ? worker_path : import.meta.url.replace("/worker.js", "/worker/worker.js") /*"worker/worker.js"*/, { type: "module" }) + new window.Worker(is_string(worker_path) ? worker_path : import.meta.url.replace("/worker.js", "/worker/worker.js").replace("flexsearch.bundle.module.min.js", "module/worker/worker.js") /*"worker/worker.js"*/, { type: "module" }) ); return worker;