|
|
Публикувано в 4.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((Име, Цвят), 'Червено');
Или използвайте знака *, SELECT Name, Color FROM Production. Product WHERE CONTAINS(*, '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 breaded", "lightly breaded" или "light bread", но няма да върне "Lightly Toasted Bread".
|
Предишен:Кантонска песен на Джаки Чеунг, звучи доста добреСледващ:Момиче в Лянюнган, провинция Дзянсу, беше съблечено от ризата си в тоалетната и пребито безумно
|