| | |
| | | const _ = require("lodash") |
| | | const {Index, Document, Worker} = require("flexsearch") |
| | | const settings = require("../settings") |
| | | const fs = require("node:fs") |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | // Message index |
| | | const options = { |
| | | tokenize: "full", |
| | | // tokenize: "full", |
| | | tokenize: "forward", |
| | | split: true, |
| | | } |
| | | |
| | |
| | | async function doIndex () { |
| | | const start = Date.now() |
| | | console.log("++ START indexing Users...") |
| | | let users = require("../users.json") |
| | | // users = users.slice(10) |
| | | |
| | | const {readFromFile, file} = settings.search |
| | | |
| | | let users |
| | | if (readFromFile) { |
| | | users = fs.readFileSync(file, "utf8") |
| | | users = JSON.parse(users) |
| | | } |
| | | else { |
| | | // TODO zweite möglichkeit "readFromApi" implementieren |
| | | } |
| | | |
| | | for (const user of users) { |
| | | addUser(user) |
| | |
| | | /////// idxMessage FNS //////////////////////////////////////////////////////////////// |
| | | |
| | | function getUserString (user) { |
| | | const {usr_id, firstname, lastname} = user |
| | | return `${usr_id} ${firstname} ${lastname}`.trim() |
| | | const {usr_id, firstname, lastname, institution, department} = user |
| | | return `${usr_id} ${firstname} ${lastname} ${institution} ${department}`.trim() |
| | | // return `${usr_id} ${firstname} ${lastname}`.trim() |
| | | } |
| | | |
| | | function addUser (user) { |