From 5ad82c502af6db6c3697f0c54ed233f74a43eedb Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Fri, 20 Jun 2025 09:13:24 +0000
Subject: [PATCH] GS-2156
---
lib/search.js | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/lib/search.js b/lib/search.js
index d054498..66b3521 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,21 @@
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
+ clearIndex(idxUser)
+
+ let users
+ if (readFromFile) {
+ users = fs.readFileSync(file, "utf8")
+ users = JSON.parse(users)
+ }
+ else {
+ console.log("~~~ reading users from DB ... ~~~")
+ const db = require("./db")
+ const {data} = await db.getUsers(0, 100000)
+ console.log(`loaded ${data.length} users from DB...`)
+ users = data
+ }
for (const user of users) {
addUser(user)
@@ -88,7 +104,8 @@
}
function search (query) {
- return idxUser.search(query)
+ const searchLimit = 10000
+ return idxUser.search(query, searchLimit)
}
function searchUsers (query, user) {
@@ -108,8 +125,10 @@
/////// 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
+ if(firstname.trim()==="Adolfo") console.log(user)
+ return `${usr_id} ${login} ${firstname} ${lastname} ${institution} ${department}`.trim()
+ // return `${usr_id} ${firstname} ${lastname}`.trim()
}
function addUser (user) {
@@ -124,6 +143,10 @@
remove(idxUser, usr_id)
}
+function clearIndex(index) {
+ index.clear()
+}
+
/////// idxTags FNS ////////////////////////////////////////////////////////////////
--
Gitblit v1.8.0