PDA

View Full Version : چطور نزدیکترین کلمه سرچ شده را پیدا کنیم؟



jeembey
دوشنبه 25 تیر 1386, 18:25 عصر
سلام


چطور نزدیکترین کلمه سرچ شده را پیدا کنیم:

مثلا سرچ می کنیم دومین (Domain) ولی تو دیتا بیس دامین داریم پس پیدا نمی شه!

میخوام مثل گوگل پیشنهاد داده بشه که آیا منظور شما: دامین است.

یا اگر اشتباه دیکته ای داشت مثلا : برای کلمه طهران ---- > تهران را پیشنهاد دهد.



با تشکر پیشاپیش از همه ی دوستان

niksoft
دوشنبه 25 تیر 1386, 23:04 عصر
Select *
from table1
Where Title Like '%هران'

AminSobati
دوشنبه 25 تیر 1386, 23:15 عصر
دوست عزیزم این نوع جستجو نیاز به قابلیتهای خاصی داره. امکانات جستجوی عادی موجود در بانکهای اطلاعاتی چنین چیزی رو امکان پذیر نمیکنند. ولی به اعتقاد من اگر کسی بخواد چنین موتور جستجویی برای زبان فارسی درست کنه، بهتره به فکر Customize کردن امکان Full Text Search باشه. FTS امکانات زیادی داره، این مثال از Books Online هستش:


The following example searches for all products with words of the form ride: riding, ridden, and so on.

USE AdventureWorks;
GO
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, ' FORMSOF (INFLECTIONAL, ride) ');
GO

mehdi.mousavi
دوشنبه 25 تیر 1386, 23:27 عصر
سلام
چطور نزدیکترین کلمه سرچ شده را پیدا کنیم:
مثلا سرچ می کنیم دومین (Domain) ولی تو دیتا بیس دامین داریم پس پیدا نمی شه!
میخوام مثل گوگل پیشنهاد داده بشه که آیا منظور شما: دامین است.
یا اگر اشتباه دیکته ای داشت مثلا : برای کلمه طهران ---- > تهران را پیشنهاد دهد.
با تشکر پیشاپیش از همه ی دوستان

سلام.
چون این سوال رو در بخش SQL Server پرسیدین، من هم اول از دید SQL Server جواب میدم. تو SQL Server میتونید به واژه ها وزن بدید. به این ترتیب میتونید Rank Value ی یه Query رو تعیین کنید. از سرف دیگه قابلیتی به اسم Proximity Term در SQL Server وجود داره، که بهتون اجازه میده Query هایی بنویسید که بگید "همه رکوردهایی رو برگردون که کلمه *دومین* به کلمه *تهران* نزدیک باشه".

اما واقعیت اینه که اینها جواب سوال شما نیستند، اگر چه ممکنه شما رو برای رسیدن به هدفتون یاری کنه. جواب واقعی اینه: شما باید از اصطلاحنامه ها استفاده کنید. Thesaurus ها مجموعه ای از کلمات و واژه ها در یک زمینه خاص هستن. مثلا کلمه شیر رو در موارد زیر در نظر بگیرید. شیر بز، شیر آب، شیر به آهویی یورش برد و ... اینجا شیر به سه معنی متفاوت استفاده شده. اگر کاربر دنبال شیر آب گشت، شما باید رکوردهای متناطر با اونو بیارید و این کار فقط با رجوع به یک اصطلاحنامه میسره. برای کسب اطلاعات بیشتر میتونید به این سایت رجوع کنید. (http://www.thesaurusbuilder.com/)