From 246473e6ff2b9aa19381ffe9bf9723da9cbd9662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=81=D8=A7=D8=B7=D9=85=D9=87=20=D8=AA=D9=82=DB=8C=20?= =?UTF-8?q?=D9=BE=D9=88=D8=B1?= <20+f.taghipour@noreply.localhost> Date: Tue, 10 Nov 2026 09:11:29 +0000 Subject: [PATCH] Add search.js --- search.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 search.js diff --git a/search.js b/search.js new file mode 100644 index 0000000..2c897ce --- /dev/null +++ b/search.js @@ -0,0 +1,76 @@ + +const fs = require("fs"); +const path = require("path"); +const readline = require("readline"); + +const filePath = path.join(__dirname, "SadenTel_Documents.csv"); + +// خواندن فایل CSV +const fileContent = fs.readFileSync(filePath, "utf8"); + +// تبدیل CSV به آرایه اسناد +const lines = fileContent.trim().split(/\r?\n/); + +const documents = lines.slice(1).map(line => { + const columns = line.split(","); + + return { + row: columns[0], + title: columns[1], + id: columns[2] + }; +}); + +// ایجاد محیط دریافت ورودی +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +// جست‌وجوی اسناد +function searchDocument(query) { + const searchText = query.trim().toLowerCase(); + + const results = documents.filter(doc => + doc.title.toLowerCase().includes(searchText) || + doc.id.toLowerCase().includes(searchText) + ); + + if (results.length === 0) { + console.log("\nسندی پیدا نشد."); + return; + } + + console.log(`\nتعداد نتایج: ${results.length}\n`); + + results.forEach(doc => { + console.log("------------------------------"); + console.log("عنوان سند:", doc.title); + console.log("شناسه داخلی:", doc.id); + console.log("ردیف:", doc.row); + }); + + console.log("------------------------------"); +} + +// دریافت عبارت جست‌وجو +function askSearch() { + rl.question("\nنام یا شناسه سند را وارد کنید (برای خروج exit): ", query => { + + if (query.trim().toLowerCase() === "exit") { + rl.close(); + return; + } + + if (query.trim() === "") { + console.log("لطفاً عبارت جست‌وجو را وارد کنید."); + } else { + searchDocument(query); + } + + askSearch(); + }); +} + +console.log("===== SadenTel Document Search ====="); +askSearch();