|
|
Опубликовано 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. Чтобы создать полнотекстовый индекс в таблице A, существует предпосылка, то есть должен быть хотя бы один уникальный индекс в таблице A, то есть если в таблице A нет индекса, не хотите создавать полнотекстовый индекс в таблице A.
В 6.SQL Server 2008 размер полного текста ограничен только доступными ресурсами памяти компьютера, исполняющего экземпляр SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
7. Запрос в несколько столбцов (полнотекстовый поиск) Задавая список столбцов для поиска, вы можете запрашивать несколько столбцов с помощью предиката CONTAINS. Эти столбцы должны быть из одной и той же таблицы.
Используйте скобки, ВЫБЕРИТЕ имя, цвет ИЗ производства. Продукт ГДЕ СОДЕРЖАТ((Имя, Цвет), 'Красный');
Или используйте знак *, ВЫБЕРИТЕ Имя, Цвет ИЗ производства. Продукт ГДЕ СОДЕРЖИТ(*, 'Красный');
Источник: 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».
|
Предыдущий:Кантонская песня Джеки Чеунга, она ощущается довольно хорошоСледующий:Девушку в Ляньюньгане, провинция Цзянсу, сняли рубашку в унитазе и избили безумно
|