@mgm-ivr
יש לי פיתרון בשבילך בלי שרת (הכוונה במקרה ואין לך יכולת להריץ קוד בשרת, כמו github pages ודומיו),
לשים את הקובץ CSV בתור קובץ סטאטי, להשתמש בספריית datatables בשביל להפוך את זה לטבלה בקליינט, זה כבר מגיע עם פונקציית חיפוש.
יש באפשרויות בdatatables לשנות את המידע שמגיע לפני שאתה מכניס אותו לטבלה, אתה צריך להפוך את זה מCSV לאובייקט\מערך
csv.split('\n').map(line => line.split(','))
הקוד למעלה לא נבדק, אבל זה אמור לעבוד.
תבדוק באפשרויות של דאטאטייבלס איך אתה נותן שמות לעמודות.
לגבי העצה לעבוד עם מסדי נתונים, זה נכון באופן כללי, אבל תלוי במשאבים שלך, ואם ידוע לך שלא תעבור את הכמה אלפי שורות או לא.