From e6b083fb7441ebdf65230517509af3c55c0c808c Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Fri, 06 Jun 2025 17:03:02 +0000
Subject: [PATCH] GS-2147
---
lib/search.js | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/lib/search.js b/lib/search.js
index d054498..8053536 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)
@@ -88,7 +100,8 @@
}
function search (query) {
- return idxUser.search(query)
+ const searchLimit = 10000
+ return idxUser.search(query, searchLimit)
}
function searchUsers (query, user) {
@@ -108,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, institution, department} = user
+ return `${usr_id} ${firstname} ${lastname} ${institution} ${department}`.trim()
+ // return `${usr_id} ${firstname} ${lastname}`.trim()
}
function addUser (user) {
--
Gitblit v1.8.0