جستجوی محصول در کاتالوگ بزرگ چطور دقیق میشود؟

در کاتالوگ کوچک، مشتری از دستهبندی پیدا میکند. از چند هزار قلم که بگذرد، جستجو تبدیل به مسیر اصلی میشود — و جستجویی که کار نکند، همان لحظه فروش را میبندد. مشتری معمولاً پیام «نتیجهای یافت نشد» را بهعنوان «ندارید» میخواند، نه «پیدایش نکردیم».
چرا LIKE جواب نمیدهد
اولین پیادهسازی معمولاً جستجوی متنی ساده در پایگاه داده است. برای چند صد کالا قابل تحمل است و بعد از آن سه جا میشکند:
کند میشود، چون بدون نمایه، جستجو در متن یعنی خواندن همه ردیفها.
فقط تطابق دقیق پیدا میکند. کاربری که «کفش ورزشی» مینویسد، کالایی با عنوان «کفش پیادهروی و ورزش» را نمیبیند.
و رتبهبندی ندارد. صد نتیجه برمیگرداند بدون اینکه بگوید کدام مرتبطتر است، که عملاً یعنی هیچ نتیجهای.
مسائل خاص زبان فارسی
این بخش جایی است که پیادهسازیهای کپیشده از راهنمای انگلیسی شکست میخورند.
نیمفاصله. «کفشها» و «کفش ها» و «کفشها» سه رشته متفاوتند و یک چیز. بدون نرمالسازی، هر سه جدا نمایه میشوند.
ی و ک عربی در برابر فارسی. حروف متفاوتی هستند با کدهای متفاوت. کاربران با هر دو صفحهکلید تایپ میکنند.
اعراب و تشدید، که گاهی در داده هست و در جستجو نیست.
اعداد فارسی و لاتین. «۱۲۰ گرمی» و «120 گرمی».
فاصلههای اضافه و کاراکترهای نامرئی که از کپیکردن از فایلهای مختلف میآیند.
نرمالسازی باید روی هر دو سمت اعمال شود — هم موقع نمایهکردن کالا، هم موقع خواندن عبارت جستجو — وگرنه فایدهای ندارد. این لایه، ارزانترین و مؤثرترین کاری است که میشود برای کیفیت جستجوی فارسی انجام داد، و بیشتر از انتخاب موتور جستجو اثر دارد.
چهار قابلیتی که تفاوت را میسازند
تحمل غلط املایی. کاربر «موبایل» را «موبیل» مینویسد. جستجو باید تا فاصله مشخصی از کلمه اصلی نتیجه بدهد. حواستان باشد این را برای کدهای فنی و شماره قطعه خاموش کنید؛ آنجا تطابق دقیق لازم است و «تصحیح» یک رقم، نتیجه غلط میدهد.
مترادف. «گوشی» و «موبایل» و «تلفن همراه». فهرست مترادفها را از جستجوهای بینتیجه واقعی کاربرانتان بسازید، نه از حدس.
جستجوی معنایی. فراتر از کلمه، مبتنی بر معنا: کسی که «چیزی برای نگهداشتن قهوه گرم» مینویسد به ماگ حرارتی برسد. برای کاتالوگهای بزرگ ارزش دارد و هزینهاش هم بیشتر است.
پیشنهاد در حال تایپ. پرتکرارترین تعامل و ارزانترین بهبود. باید سریع باشد، وگرنه بهتر است نباشد.
رتبهبندی، بخشی که فروش را جابهجا میکند
مرتبطبودن متنی فقط نقطه شروع است. نتایج باید با ترکیبی از اینها مرتب شوند:
میزان تطابق متنی، موجود بودن، فروش گذشته همان کالا، و حاشیه سود اگر سیاست شما این است.
قاعدهای که تقریباً همیشه درست است: کالای ناموجود نباید بالای فهرست باشد. حذف کاملش هم بد است — مشتری فکر میکند ندارید — ولی جایش پایین فهرست است با برچسب روشن.
در فروش سازمانی یک لایه دیگر هم اضافه میشود: نتایج باید کاتالوگ مجاز همان مشتری را رعایت کنند. این نکته امنیتی است نه ظاهری، و در پیادهسازیها معمولاً فهرست و دستهبندی درست فیلتر میشوند و جستجو جا میماند چون از مسیر دیگری داده میگیرد. جزئیاتش در کاتالوگ اختصاصی مشتری هست.
فیلترها
جستجو و فیلتر با هم کار میکنند. فیلتر بدون داده ساختاریافته ممکن نیست، و این مستقیماً به کیفیت اطلاعات محصول برمیگردد — اگر «رنگ» در سه کالا سهجور نوشته شده باشد، فیلتر رنگ سه گزینه تکراری نشان میدهد. مبنایش را در مدیریت اطلاعات محصول نوشتهایم.
دو نکته عملی: تعداد نتایج هر فیلتر را کنار خودش نشان دهید، و گزینههایی که به صفر نتیجه میرسند را غیرفعال کنید. کاربری که فیلتری بزند و به صفحه خالی برسد، معمولاً برنمیگردد.
از کجا بفهمید کجا خطا دارید
جستجو تنها بخشی از فروشگاه است که کاربران در آن به شما میگویند چه میخواهند. ثبتنکردن این داده، هدررفت آشکاری است.
سه گزارش که بیشترین ارزش را دارند:
جستجوهای بینتیجه، مرتب بر اساس فراوانی. هر ردیف یا یک کالای ناموجود است یا یک مترادف جاافتاده. هر دو قابل رفعاند.
جستجوهایی که به کلیک منجر نشدهاند. نتیجه آمده ولی هیچکدام آن چیزی نبوده که کاربر میخواسته. مشکل رتبهبندی است، نه پوشش.
پرتکرارترین عبارتها. اگر پنج عبارت اول، بخش بزرگی از جستجوها را میسازند، بهینهکردن همان پنج، بیشتر از هر کار دیگری اثر دارد.
چه وقت سراغ موتور جستجوی جدا بروید
برای کاتالوگ کوچک، امکانات جستجوی متنی پایگاه داده کافی است. نشانههایی که وقتش رسیده: کاتالوگ از چند ده هزار قلم گذشته، به فیلتر ترکیبی روی چند ویژگی نیاز دارید، جستجو کند شده، یا مترادف و تحمل غلط میخواهید.
موتوری مثل Elasticsearch اینها را میدهد و در عوض یک سرویس دیگر برای نگهداشتن و یک مسئله همگامسازی اضافه میکند: نمایه باید با تغییر کالا و قیمت و موجودی بهروز بماند، و باید تصمیم بگیرید در لحظه یا دورهای.
کافهرسان روی همین ترکیب ساخته شد. اگر در حال تصمیمگیری هستید، پیش از بحث انتخاب موتور، آن سه گزارش بالا را از جستجوی فعلیتان دربیاورید؛ معمولاً معلوم میشود بخش بزرگی از مشکل با نرمالسازی فارسی و فهرست مترادف حل میشود، که هیچ سرویس جدیدی نمیخواهد.