PDA

View Full Version : سوال: کد جستجوی متن شبیه تر



salibsatan
دوشنبه 03 اسفند 1394, 09:35 صبح
سلام دوستان.فرض کنید ما توی بانک اطلاعاتی 3 تا رکورد داریم
1-ثمین تجارت
2-شرکت تجارت
3-شرکت ثمین استاندارد سازان

حالا می خوام کد جستجویی رو داشته باشم که مثلا وقتی گزینه ثمین سرچ بشه، گزینه اول و سوم رو بیاره
وقتی ثمین تجارت هم سرچ بشه، چون کلمه ثمین و تجارت توی 3 تا گزینه هست همه رو بیاره، ولی گزینه 1 بالاتر باشه چون دوتا کلمه مشابه داره.یعنی کلمه کلمه عبارات رو بگرده و اونی که شباهت بیشتری داره بیاره بالاتر و بقیه عباراتی که حتی اگر یک کلمه مشترک دارن رو بیاره.امیدوارم تونسته باشم منظورم رو برسونم.
شما کد یا الگوریتمی دارید که اینطوری بتونه کار کنه؟
پیشاپیش متشکرم

csharpcollegian
دوشنبه 03 اسفند 1394, 09:50 صبح
سلام از این کد استفاده کنید :


Select * From TableName Where FieldName Like N'%@Name%'

salibsatan
دوشنبه 03 اسفند 1394, 10:04 صبح
ممنون از راهنماییتون ولی من می خوام رتبه بندی بشه.یعنی هرچی شبیه تر بود، توی جستجو بالاتر قرار بگیره.مثلا 2 تا کلمه مشابه بالاتر از یک کلمه مشابه باشه

csharpcollegian
دوشنبه 03 اسفند 1394, 10:16 صبح
ممنون از راهنماییتون ولی من می خوام رتبه بندی بشه.یعنی هرچی شبیه تر بود، توی جستجو بالاتر قرار بگیره.مثلا 2 تا کلمه مشابه بالاتر از یک کلمه مشابه باشه
الان متوجه منظورتون شدم...

hamid_hr
دوشنبه 03 اسفند 1394, 10:47 صبح
اگه بانک اطلاعاتی شما sqlserver هست
یه امکانی داره بنام full text search
شما باید از اون استفاده کنی
http://blog.sqlauthority.com/2008/09/05/sql-server-creating-full-text-catalog-and-index/

ali_md110
دوشنبه 03 اسفند 1394, 10:59 صبح
میتونید از توابع رشته ای همراه Like استفاده کنید
این توابع تست کنید شاید نتیجه گرفتید

StartsWith()
Contains()