جستجوی تمام متن

**جستجوی تمام متن**، در بازیابی متنی، به تکنیکی از جستجو گفته می‌شود که در اسناد ذخیره شده در رایانه یا در پایگاه‌های داده انجام می‌شود. در یک جستجوی تمام متن، یا به اختصار جستجوی متنی، موتور جستجو قابلیت شناسایی محتوای پرسش شده از طرف کاربر را برای پاسخ به آن داراست، به این معنا که موتور می کوشد تا با بررسی واژه‌های موجود در پرسش کاربر با سند ذخیره شده در رایانه پاسخی مناسب را تولید نماید. جستجوی تمام متن در نرم افرازهای پردازش واژه و نیز برنامه‌های مبتنی بر وب پیاده‌سازی و حمایت می‌شوند.
## سند چیست؟
یک سند، واحدی در جستجوی تمام متن است، برای مثال یک مقاله یا یک پیام الکترونیکی. موتور جستجو باید قادر به پیمایش متن و ذخیرهٔ پیوستگی لغوی (یعنی کلید واژه) با سند مشتق شده از آن باشد. این پیوستگی‌ها بعداً برای جستجوی در سندی برای یافتن محتوای پرسشی به کار می‌رود.
## شاخص‌گذاری
هنگام سروکار داشتن با تعدادی محدود از اسناد می‌توان جستجوی تمام متن را، ابتدا سند را تماماً پویش نموده و سپس برای هریک به‌طور جداگانه برای پرسش را جستجو نمود. به این کار جستجوی موازی گفته می‌شود.
با زیاد شدن تعداد اسناد، به‌طور طبیعی به علت افزایش جستجوی پرسش ها، از سرعت کار به‌طور چشمگیری کاسته می‌شود. به همین علت، جستجو به دو بخش جداگانهٔ شاخص‌گذاری و جستجو تقسیم می‌شود. در گام شاخص گذاری، ابتدا تمام متون اسناد پویش شده و سپس فهرستی از عبارات از آن استخراج می‌شود. این فهرست معمولاً شاخص نامیده می‌شود، اگر چه نام صحیح تر آن لغت‌نامه است.
شاخص‌گذار برای هر کلمه یا عبارت موجود در سند، یک مدخل در شاخص ایجاد می‌نماید. معمولاً شاخص‌گذار از کلمات توقف صرف نظر می‌کند. این کلمات در زبان انگلیسی شامل کلماتی مانند **the** است که در یک متن دارای فراوانی بسیار زیادی است، در حالی که معنای چندانی ندارد.
شاخص‌گذار همچنین کلماتی مانند **drives**، **drove** یا **driven** را تنها با یک کلمه در مورد شاخص‌گذاری قرار می‌دهد، **drive**.
زمانی که یک شاخص را در اختیار داریم، می‌توانیم مکان اطلاعات را پیدا کنیم یا اطلاعات را ببینیم یا آن‌ها را چاپ نماییم. با استفاده از شاخص‌های تولید شده، تابع جستجو در جستجوی تمام متن می‌تواند اطلاعات مورد نیاز در اسناد را ردیابی کرده و نتایج را سریعاً به صورتی‌که کلمات مورد جستجو برجسته شده‌اند، نمایش دهد.

## جستجو
یک جستجو می‌تواند شامل فقط یک عبارت( متشکل از کلمه یا کلمه بندی شده) یا چندین عبارت باشد. می‌توان این کار را به وسیلهٔ تعریف روابط بین عبارات مورد جستجو یا اعمال محدودسازی بین عبارات با استفاده از انواع تکنیک‌های جستجو از قبیل:
* عملگرهای منطقی مانند: **OR ، AND، XOR، NOT، EXCEPT**.
* کاراکترهای بی معنی، که کاربر را قادر به جستجو برای تمام کلمات با توالی آغاز شده با یک رشتهی خاص و/ یا پایان یافتن با یک رشته از حروف خاص دیگر.(برای مثال در هنگام جستجو برای "manag* bouns" عباراتی مانند management bonus، managerial bonus و از این قبیل کلمات را پیدا خواهد نمود)
* فراداده ها؛ که امکان ایجاد یک تصفیه در نمایش داده‌ها را برحسب موردی خاص، مثلاً تاریخ ایحاد پرونده، را فراهم می نماید.
## پیوند به بیرون
* شروع به کارگیری از خاصیت جستجوی تمام متن با SQL، http://technet.microsoft.com/en-us/library/ms142497.aspx
* توابع جستجوی تمام متن در مای-اسکیوال، http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
* پیاده‌سازی جستجوی مذکور با اوراکل، http://www.oracle.com/technology/pub/articles/asplund-textsearch.html

## منابع

* http://www.microtype.com/resources/articles/ftr.html

رده:الگوریتم‌ها
رده:بازیابی اطلاعات
رده:جستجو
رده:سبک‌های بازیابی اطلاعات
رده:ویژگی‌های ویرایشگر متن