From 34201eeb373a4fa49e6e6a98ce7c67170672c06d Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Sun, 08 Jun 2025 16:23:25 +0000
Subject: [PATCH] adding search

---
 lib/search.js |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/lib/search.js b/lib/search.js
index c332548..d6b3d76 100644
--- a/lib/search.js
+++ b/lib/search.js
@@ -1,11 +1,14 @@
 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,
 }
 
@@ -67,7 +70,7 @@
 // .then(console.log)
 // .catch(console.error)
 
-async function run() {
+async function run () {
    await doIndex()
    console.log(search("latu"))
 }
@@ -77,8 +80,17 @@
 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)
@@ -109,8 +121,9 @@
 /////// idxMessage FNS ////////////////////////////////////////////////////////////////
 
 function getUserString (user) {
-   const {usr_id, firstname, lastname} = user
-   return `${usr_id} ${firstname} ${lastname}`.trim()
+   const {usr_id, firstname, lastname, login, institution, department} = user
+   return `${usr_id} ${login} ${firstname} ${lastname} ${institution} ${department}`.trim()
+   // return `${usr_id} ${firstname} ${lastname}`.trim()
 }
 
 function addUser (user) {

--
Gitblit v1.8.0