PDA

View Full Version : full_text search چیست



hmm
یک شنبه 29 آذر 1383, 07:33 صبح
لطفا کمی در مورد full_text search توضیح دهید
ممنون :oops:

hmm
چهارشنبه 02 دی 1383, 07:20 صبح
الو... صدا میرسه :wink:

بهنام بهمنی
چهارشنبه 02 دی 1383, 10:58 صبح
Sql به ما این امکان را داده است که یک ایندکس سراسری بر روی تمام کلماتی که در یک دیتا بیس تعریف کنیم
و در هنگام جستجو یک کلمه خاص به این وسیله جستجو در کل دیتا بیس انجام می شود .

ما می توانیم بعضی لغت های پر کاربرد و عمومی مانند "the" را از این ایندکس مستثنی کنیم .

AminSobati
جمعه 04 دی 1383, 00:48 صبح
دوست عزیزم،
اگر تا به حال نیاز به جستجوی یک کلمه در متن بسیار طولانی پیدا کرده باشین، حتما ضعفهای Like رو مخصوصا در Performance تجربه کردین. FTS این امکان رو میده که در متنهای بزرگ و حجیم، جستجوهای بسیار سریع انجام بدین. بعد از راه اندازی FTS شما ابزارهای قدرتمندی مثل CONTAINS رو در اختیار دارین که انعطاف پذیری زیادی برای Query دارند.

hmm
شنبه 05 دی 1383, 07:48 صبح
بعد از راه اندازی FTS شما ابزارهای قدرتمندی مثل CONTAINS رو در اختیار دارین که انعطاف پذیری زیادی برای Query دارند.
یه کم در این مورد توضیح بدید ممنون میشم :cry:

AminSobati
شنبه 05 دی 1383, 08:30 صبح
این مثالها حتما کمکتون میکنن: :)

Examples
A. Use CONTAINS with <simple_term>
This example finds all products with a price of $15.00 that contain the word "bottles."

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE UnitPrice = 15.00
AND CONTAINS(QuantityPerUnit, 'bottles')
GO

B. Use CONTAINS and phrase in <simple_term>
This example returns all products that contain either the phrase "sasquatch ale" or "steeleye stout."

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "sasquatch ale" OR "steeleye stout" ')
GO

C. Use CONTAINS with <prefix_term>
This example returns all product names with at least one word starting with the prefix choc in the ProductName column.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "choc*" ')
GO

D. Use CONTAINS and OR with <prefix_term>
This example returns all category descriptions containing the strings "sea" or "bread."

USE Northwind
SELECT CategoryName
FROM Categories
WHERE CONTAINS(Description, '"sea*" OR "bread*"')
GO

E. Use CONTAINS with <proximity_term>
This example returns all product names that have the word "Boysenberry" near the word "spread."

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, 'spread NEAR Boysenberry')
GO

F. Use CONTAINS with <generation_term>
This example searches for all products with words of the form dry: dried, drying, and so on.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' FORMSOF (INFLECTIONAL, dry) ')
GO

G. Use CONTAINS with <weighted_term>
This example searches for all product names containing the words spread, sauces, or relishes, and different weightings are given to each word.

USE Northwind
GO
SELECT CategoryName, Description
FROM Categories
WHERE CONTAINS(Description, 'ISABOUT (spread weight (.8),
sauces weight (.4), relishes weight (.2) )' )
GO

H. Use CONTAINS with variables
This example uses a variable instead of a specific search term.

USE pubs
GO
DECLARE @SearchWord varchar(30)
SET @SearchWord ='Moon'
SELECT pr_info FROM pub_info WHERE CONTAINS(pr_info, @SearchWord)


See Also

FREETEXT

FREETEXTTABLE

Using the CONTAINS Predicate

WHERE

hmm
یک شنبه 06 دی 1383, 14:42 عصر
:flower: :thnx:

AminSobati
پنج شنبه 10 دی 1383, 00:58 صبح
:)

zrahimic
چهارشنبه 07 بهمن 1383, 08:43 صبح
اصلا چه جوری می شه این ایندکس رو ساخت؟ یا

بعد از راه اندازی FTS
چه جوری FTS راه اندازی می شه؟

AminSobati
پنج شنبه 22 بهمن 1383, 15:41 عصر
دوست عزیزم،
قبل از هر چیز باید اطمینان حاصل کنین که سرویس مربوطه رو در هنگام نصب SQL Server نصب کردین. بعد از لیست Wizardهای Enterprise Manager، آیتم Database > Full Text Indexing رو انتخاب کنین.
موفق باشید

zrahimic
شنبه 24 بهمن 1383, 14:29 عصر
::thnx::

AminSobati
شنبه 24 بهمن 1383, 23:55 عصر
موفق باشید :)