Компонент для полнотекстового поиска в Microsoft SQL Server называется Full Text Search. Рассмотрим основы полнотекстового поиска, для чего он нужен. Полнотекстовый поиск это поиск слов или фраз в текстовых данных.
Такой поиск использует для того, чтобы можно было найти текст в очень большом объёме данных.
Очень большой объём данных может быть в больших таблицах, где-то 1000 или даже 1000000 строк, потому что этот поиск быстрее обычного.
Что такое полнотекстовый поиск Full Text Search?
Определение
Полнотекстовый поиск создаёт специально для текстовых данных, то есть это своего рода словарь слов, которые есть в этих данных. И используя полнотекстовый поиск, можно провести поиск по словам или фразам в базе данных организации.
И кроме быстрой работы такой поиск может ранжировать найденные документы, это значит, что каждой строке присваивается ранг. Пользователю это нужно для того, чтобы найти наиболее релевантные записи, которые больше всего подходят пользователю.
Какие есть возможности полнотекстового поиска Microsoft SQL Server
Используя полнотекстовый поиск SQL сервера, пользователь может искать, используя не только слова и фразы, но и префиксные выражение, то есть искать текст сначала слова или фразы. Есть возможность искать слова по слова формам, это формы глаголов или существительные в единственном и множественном числе, это называется производные выражения.
Используя полнотекстовый поиск, пользователь может построить запрос таким образом, чтобы были найдены слова, которые находятся рядом с другими словами или фразами, это значит поиск выражения с учётом расположения. Также такой поиск даёт возможность производить поиск синонимических форм конкретного слова, thesaurus. Это значит, что если в тезаурусе указано, что автомобиль и машина являются синонимами, то при проведении поиска слова автомобиль в результате будут и строки, где есть слова «машина».
Новый поиск даёт возможность пользователю в запросе указать слова или фразы с взвешенными значениями. Это значит, что если в запросе есть несколько слов, то для каждого из них можно поставить важность от нуля до единицы. Единица будет означать, что это наиболее важное слово или фраза.
Если у пользователя есть необходимость, не учитывать в поиске определённые слова, то для этого есть список стоп слов. Это значит, по словам, которые включены в этот список, поиск проводиться не будет.
Процесс реализации полнотекстового поиска
Прежде чем начинать создавать полнотекстовый поиск, нужно учитывать некоторые нюансы. Чтобы реализовать полнотекстовый поиск должен быть установлен компонент в Text Search. Также нужно учитывать, что у таблицы может быть только один полнотекстовый столбец, без значения null.
Для создания полнотекстового индекса у таблицы должен быть один уникальный индекс, с одним столбцом, и без значения null.
Также важно, что полнотекстовый индекс можно создавать на столбцах с типом данных char, varchar, nchar, text, ntext, image, xml, varbinary.
Для создания полнотекстового индекса пользователь должен создать полнотекстовый каталог. В программе SQL Server полнотекстовый каталог это логическое понятие, которое включает в себя группу полнотекстовых индексов, то есть это виртуальный объект, который не входит в файловую группу.
Как установить компонент полнотекстовый поиск в Microsoft SQL Server
Для того чтобы пользователь установил компонент Full Text Search, нужно во время установки Microsoft SQL Server поставить галочку напротив этого значения.
Если пользователь не отметил этот компонент при установке SQL Server, это можно сделать и позже. Для установки нужного компонента следует запустить центр установки SQL Server, и отметить «новая установка изолированной экземпляра», и когда начнётся этап выбора компонентов, указать соответствующий пункт.