Add search.js
This commit is contained in:
@@ -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();
|
||||
مرجع در شماره جدید
مسدود کردن کاربر