Spec-Zone .ru
спецификации, руководства, описания, API

23.2.3.2. Полнотекстовые Плагины Синтаксического анализатора

У MySQL есть встроенный синтаксический анализатор, который он использует по умолчанию для полнотекстовых операций (анализирующий текст, который будет индексирован, или анализирующий строку запроса, чтобы определить сроки, которые будут использоваться для поиска). Для полнотекстовой обработки "парсинг" означает извлекать слова из текста или строки запроса, основанной на правилах, которые определяют, какие символьные последовательности составляют слово и где границы слова лежат.

Анализируя для того, чтобы индексировать цели, синтаксический анализатор передает каждое слово к серверу, который добавляет, что это к полнотекстовому индексирует. Анализируя строку запроса, синтаксический анализатор передает каждое слово к серверу, который накапливает слова для использования в поиске.

Свойства парсинга встроенного полнотекстового синтаксического анализатора описываются в Разделе 12.9, "Полнотекстовые Функции Поиска". Эти свойства включают правила для того, чтобы определить, как извлечь слова из текста. Синтаксический анализатор - под влиянием определенных системных переменных такой как ft_min_word_len и ft_max_word_len те слова причины короче или дольше быть исключенным, и списком stopword, который идентифицирует общие слова, которые будут проигнорированы.

Сменный API позволяет Вам обеспечить полнотекстовый собственный синтаксический анализатор так, чтобы Вы управляли основными режимами работы синтаксического анализатора. Плагин синтаксического анализатора может работать в любой из двух ролей:

Для плагина синтаксического анализатора также возможно работать в обеих ролях. Таким образом, это могло извлечь текст из ввода непростого текста (роль фронтэнда), и также проанализировать текст в слова (таким образом заменяющий встроенный синтаксический анализатор).

Полнотекстовый плагин связывается с полнотекстовым, индексирует на на - индексируют основание. Таким образом, когда Вы устанавливаете плагин синтаксического анализатора первоначально, который не заставляет это использоваться для любых полнотекстовых операций. Это просто становится доступным. Например, полнотекстовый плагин синтаксического анализатора становится доступным, чтобы быть названным в a WITH PARSER пункт, создавая человека FULLTEXT индексирует. Чтобы создать такой индексировать во время табличного создания, сделайте это:

CREATE TABLE t(  doc CHAR(255),  FULLTEXT INDEX (doc) WITH PARSER my_parser) ENGINE=MyISAM;

Или можно добавить индексирование после того, как таблица была составлена:

ALTER TABLE t ADD FULLTEXT INDEX (doc) WITH PARSER my_parser;

Единственное изменение SQL для того, чтобы связать синтаксический анализатор с индексированием WITH PARSER пункт. Поискы определяются как прежде без изменений, необходимых для запросов.

Когда Вы связываете плагин синтаксического анализатора с a FULLTEXT индексируйте, плагин требуется для того, чтобы использовать индексирование. Если плагин синтаксического анализатора отбрасывается, любой индексирует связанный с ним, становится неприменимым. Любая попытка использовать это таблица, для которой плагин не является доступными результатами по ошибке, хотя DROP TABLE все еще возможно.

Для получения дополнительной информации о полнотекстовых плагинах, см. Раздел 23.2.4.4, "Пишущий Полнотекстовые Плагины Синтаксического анализатора".