PDA

View Full Version : جستجو در فیلدی بدون درنظر گرفتن تگ های اچ.تی.ام.ال درونش؟



پروگرامنویس
شنبه 19 خرداد 1397, 13:00 عصر
درون
من میخوام درون یه فیلد عمل جستجو رو انجام بدم،درون این فیلد بخاطر بکارگیری سی.کی.ایتور تگ های اچ تی ام ال هم وجود داره اما نمیخوام زمان جستجو این تگ ها هم مورد جستجو انجام بشن.باید چیکار کنم
سپاس


oModel.posts = rpPost.Where(x => x.Tittle.Contains(srch) || x.Body.Contains(srch) || x.Keywords.Contains(srch) && x.Is_show==true).OrderBy(d => d.Date).ThenBy(t => t.Time).ToList();

hakim22
شنبه 19 خرداد 1397, 13:32 عصر
این کار رو می توانید به استفاده از RegEx (https://www.dotnetperls.com/remove-html-tags)انجام بدید.

پروگرامنویس
یک شنبه 20 خرداد 1397, 16:28 عصر
این کار رو می توانید به استفاده از RegEx (https://www.dotnetperls.com/remove-html-tags)انجام بدید.
سپاس اما این راه کار بدردم نخورد چون فقط تگها رو پاک میکنه،گمونم درست تئضیح ندادم مشکلم رو،حتما دیدید وقتی متنی رو با قالب بندی دلخواه توی ادیتور ckeditor مینویسید برای این قالب بندی ها یه سری کاراکتر به متن ورودی افزوده میشه،مثلا توی فیلد زیر اگه کاربر عبارت galaxy j5 رو تایپ کنه فیلد زیر بعنوان نتیجه نشون داده میشه چون کاراکتر j توسط ادیتور ایجاد شده اما نباید جز محتوی مورد جستجو قرار بگیره،
میخوام بدونم راه دیگه ای نیست که بطور هوشمندانه تر بشه کاراکترهای ایجاد شده توسط خود ادیتور رو از محتوی اصلی فیلد برای جستجو فیلتر کرد؟سپاس148355

mohsen.j1990
پنج شنبه 24 خرداد 1397, 02:51 صبح
سلام به نظر بنده شما باید برای این کار از روش دیگری استفاده کنید که به نظر بنده برای بالا بردن سرعت و بهینه تر شده کار باید در دیتابیس عمل جستجو انجام بشه که میتونید تو لینک زیر میتونید اطلاعات بیشتری کسب کنید
Full texdt search (https://www.red-gate.com/simple-talk/sql/learn-sql-server/understanding-full-text-indexing-in-sql-server/)
برای بالا بردن سرعت باید از میکرو orm هایی که سرعت اجرای بالایی دارن مثل Dapper (https://github.com/StackExchange/Dapper)استفاده کنید

چون در طراحی سایت (http://nationalsoft.net/)و بحث جستجو سرعت خیلی مهمه