|
|
Опубліковано 04.10.2015 21:03:04
|
|
|

1. Я прочитав кілька хороших постів,
Огляд повнотекстового пошуку SQL Server 2008 http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html
Повний текст індексу http://www.cnblogs.com/liulun/articles/1368655.html
Спочатку скопіюйте абзац:
Питання: Чому повнотекстовий пошук? Відповідь: Оскільки швидкість запиту до тексту повільна (не рекомендується будувати індекс на основі тексту, саме тому це і є причиною) Питання: Чи є якась різниця з 2005 роком? A; Звісно, є різниця, і назва передує інтегрований. Раніше 05 мав окремий індексний файл і рушій, але в 08 він був інтегрований у файлову групу. Питання: Який принцип? Відповідь: На основі ключових слів Питання: Як це пов'язано зі звичайними індексами? Відповідь: Мета — покращити швидкість запитів. Повнотекстові індекси мають багато тих самих функцій, що й індекси Повнотекстовий пошук використовує семантичний пошук (ця техніка звучить дуже глибоко) і також може застосовуватися для бінарних документів. Питання: Для чого це? Відповідь: Щоб навести найпростіший приклад, пошук статей — нечітке співпадіння, швидкі та великі кількості також можуть ранжуватися.
Два. Потім зайдіть на MSDN, щоб побачити Дондонг:
Огляд повного тексту індексу
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
Деякі з наступних цитат скопійовані наступним чином:
1. У SQL Server 2008 повнотекстовий рушій повністю інтегрований у рушій баз даних. Повнотекстовий рушій тепер працює у процесі SQL Server (sqlservr.exe), а не окремому процесу (msftesql.exe). Інтегруючи повнотекстовий рушій у рушій бази даних, покращується повнотекстове управління, гібридні запити оптимізуються, а загальна продуктивність покращується. Від: http://msdn.microsoft.com/zh-cn/library/ms142587.aspx
2. Кроки створення повнотекстового пошуку, занадто лінь робити скріншоти, бачити, що це зробили інші, цитувати напряму, але з другої сторінки це відрізняється від мого локального, я не можу напряму клікнути правою кнопкою миші по таблиці для створення повнотекстового пошуку, за замовчуванням сірий, я можу створити індекс лише в каталозі повнотекстового каталогу індексу в сховищі. http://www.sql-server-performance.com/2010/full-text-search-2008/
3. Спочатку я думав, що повнотекстовий пошуковий каталог має бути каталогом на відповідному жорсткому диску, що схоже на концепцію locune. Але насправді, станом на SQL Server 2008, повнотекстовий каталог є віртуальним об'єктом і не належить жодній файловій групі. Повнотекстовий зміст — це логічне поняття, яке представляє набір повнотекстових індексів. Джерело:
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx
4. Ви можете створити повнотекстовий індекс лише для таблиці або індексу, але не повнотекстовий індекс для звичайного вигляду.
Повнотекстовий індекс — це спеціальний тип функціонального індексу на основі маркерів, який генерується та підтримується повнотекстовим рушієм. Щоб створити повнотекстовий пошук у таблиці або виді, таблиця або вигляд повинні мати унікальний, ненульований, одностовпцевий індекс. Повнотекстовий рушій повинен використовувати цей унікальний індекс для відображення кожного рядка в таблиці з унікальним стисним ключем. Повнотекстові індекси можуть включати стовпці Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary та Varbinary(max).
5. Щоб створити повнотекстовий індекс у Таблиці А, існує припущення, тобто має бути принаймні один унікальний індекс у Таблиці А, тобто якщо індексу немає в Таблиці А, не варто створювати повнотекстовий індекс у Таблиці А.
У 6.SQL Server 2008 розмір повнотекстового індексу обмежений лише доступними ресурсами пам'яті комп'ютера, на якому працює екземпляр SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
7. Запит до кількох стовпців (повнотекстовий пошук) Вказавши список стовпців для пошуку, ви можете запитувати кілька стовпців за допомогою предикату CONTAINS. Ці стовпці мають бути з однієї таблиці.
Використовуйте дужки, SELECT Name, Color FROM Production.Product WHERE CONTAINS((Name, Color), 'Red');
Або використовуйте знак *, ВИБРАТИ Ім'я, Колір З виробництва. Продукт ДЕ МІСТИТЬ(*, 'Червоний');
Джерело: http://msdn.microsoft.com/zh-cn/library/ms142488.aspx
9. Запит до кількох стовпців для кількох таблиць
Він може лише МІСТИТИ або МІСТИТИ, наприклад WHERE CONTAINS(t1. Ім'я — «Червоний») або МІСТИТЬ (t2). ім'я — «Червоний»);
10. Оптимізація продуктивності повнотекстових запитів
Використовуйте ALTER FULLTEXT CATALOG REORGANIZE для реорганізації повнотекстового каталогу.
ALTER FULLTEXT CATALOG для клієнта ПЕРЕБУДОВА ACCENT_SENSITIVITY=OFF
Для детальнішої інформації просто подивіться на це: http://msdn.microsoft.com/zh-cn/library/cc879244.aspx
11. Виконайте пошук за префіксом http://msdn.microsoft.com/zh-cn/library/ms142492.aspx
Ви можете використовувати повнотекстовий пошук для пошуку слів або фраз із заданим префіксом.
Коли ви виконуєте пошук за префіксом, усі елементи у стовпці, що містять текст, що починається з вказаного префікса, повертаються. Наприклад, щоб знайти всі рядки, що містять префікс top (наприклад, topple, topping і сам top), запит виглядатиме так:
SELECT * FROM Product WHERE CONTAINS (ProductName, '"auto*"' ); Весь текст, що відповідає тексту, вказаному перед зірочкою (*), буде повернений.
Примітка: Якщо ви не додаєте подвійні лапки до і після тексту та зірочки (наприклад, CONTAINS (DEscrip{filter}tION, 'top*')), повнотекстовий пошук не буде використовувати зірочку як дикий код.
Коли префікс — це фраза, кожен токен, що складається з фрази, розглядається як окремий префікс. Усі рядки, що містять слова, що починаються на ці префікси, повертаються. Наприклад, префікс «light bread*» шукає рядки з текстом «light paned», «lightly paned» або «light bread», але не поверне «Lightly toasted bread».
|
Попередній:Кантонська пісня Джекі Чеунга, вона відчувається досить добреНаступний:Дівчину в Ляньюньгані, провінція Цзянсу, роздягнули сорочку в унітазі і жорстоко побили
|