k2-4u
Well-Known Member
نوع داده FULLTEXT . برای فیلد های هست که شما . می خواهید با سرعت در محتویات آنها جستجو کنید
برای استفاده از روش ایندکس گذاری full-text . به موارد زیر دقت کنید
1. ایندکس گذاری full-text فقط برای جدول های MyISAM و نوع های CHAR ,VARCHAR , TEXT
قابل استفاده است
2. ایندکس گذاری full-text باید موقع ساخت جدول و در دستور CREATE TABLE و یا تغییر ساختار جدول (ALTER TABLE CREATE INDEX ) استفاده شود
3 . در مواقعی که حجم اطلاعات خیلی زیاد است . عدم استفاده از full-text سرعت بیشتری دارد
در عمل :
همون طور که گفته شد . full-text رو در هنگام ساخت جدول . باید در نظر گرفت
ما در مثال زیر . یک مطلب داریم که . می خواهیم عنوان مطلب و خود مطلب رو full-text کنیم تا بتونیم
بعدا با امکانات و سرعت بالا در اونا جستجو کنیم
همان طور که میبینید . بعد از تعریف ستون های id , body و title
دو ستون title و body در آخر دستور به وسیله عبارت FULLTEXT
FULLTEXT در نظر گرفته شده اند
بعد از ساخت جدول . شما می توانید جدول را با محتوات دلخواه پر کنید
.
و حالا برای جستجو در این جدول
از دستور AGAINST MATCH به چندین شکل استفاده می شود
به مثال های زیر دقت کنید
در MATCH نام ستون های FULL TEXT مورد نظر که قصد دارید در آنها جستجو کنید قرار میگیرد
و در AGAINST کلمه کلیدی مورد نظر
1 . بعد از WHERE (این روش کم هزینه ترین روش است )
2. می تواند یکی از مقادیر قبل از FROM باشد . (در این مثال نتیجه جستجو در نام فرضی score قرار می گیرد )
و 3 . می تواند ترکیبی از این دو مثال بالا یا ... باشد
AGAINST MATCH چهار حالت . برای جستجو دارد .
که در ادامه گفته میشود .
مثال های بالا یکی از این روش ها است
برای استفاده از روش ایندکس گذاری full-text . به موارد زیر دقت کنید
1. ایندکس گذاری full-text فقط برای جدول های MyISAM و نوع های CHAR ,VARCHAR , TEXT
قابل استفاده است
2. ایندکس گذاری full-text باید موقع ساخت جدول و در دستور CREATE TABLE و یا تغییر ساختار جدول (ALTER TABLE CREATE INDEX ) استفاده شود
3 . در مواقعی که حجم اطلاعات خیلی زیاد است . عدم استفاده از full-text سرعت بیشتری دارد
در عمل :
همون طور که گفته شد . full-text رو در هنگام ساخت جدول . باید در نظر گرفت
ما در مثال زیر . یک مطلب داریم که . می خواهیم عنوان مطلب و خود مطلب رو full-text کنیم تا بتونیم
بعدا با امکانات و سرعت بالا در اونا جستجو کنیم
کد:
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
دو ستون title و body در آخر دستور به وسیله عبارت FULLTEXT
FULLTEXT در نظر گرفته شده اند
بعد از ساخت جدول . شما می توانید جدول را با محتوات دلخواه پر کنید
.
و حالا برای جستجو در این جدول
از دستور AGAINST MATCH به چندین شکل استفاده می شود
به مثال های زیر دقت کنید
در MATCH نام ستون های FULL TEXT مورد نظر که قصد دارید در آنها جستجو کنید قرار میگیرد
و در AGAINST کلمه کلیدی مورد نظر
1 . بعد از WHERE (این روش کم هزینه ترین روش است )
کد:
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('search me....');
2. می تواند یکی از مقادیر قبل از FROM باشد . (در این مثال نتیجه جستجو در نام فرضی score قرار می گیرد )
کد:
SELECT id, body, MATCH (title,body) AGAINST ('search Me..') AS score FROM articles WHERE (...)
و 3 . می تواند ترکیبی از این دو مثال بالا یا ... باشد
AGAINST MATCH چهار حالت . برای جستجو دارد .
که در ادامه گفته میشود .
مثال های بالا یکی از این روش ها است
آخرین ویرایش: