возвращает единственную строку (табл. 3.19). Таблица 3.19.
Результат выполнения запросаВ других наименованиях товаров также присутствует ключевое слово «Мосбытприбор», однако программа MySQL игнорирует те слова из критерия поиска, которые встречаются более чем в половине строк. Игнорируются также слишком короткие слова (из трех и менее символов) и общеупотребительные слова (список этих слов – стоп-лист – приводится на веб-странице http://dev.mysql.com/doc/ refman/5.0/en/fulltext-stopwords.html).
Если необходимо выполнить поиск по словам, которые могут встречаться более чем в 50 % строк, необходимо использовать поиск в логическом режиме. Для этого необходимо включить в выражение MATCH. AGAINST. параметр IN BOOLEAN MODE. Управлять поиском в логическом режиме можно с помощью следующих спецсимволов:
• + – перед словом означает, что будут найдены только строки, содержащие это слово;
• – – перед словом означает, что будут найдены только строки, не содержащие это слово;
• < – перед словом уменьшает «вес» этого слова при вычислении релевантности;
• > – перед словом увеличивает «вес» этого слова при вычислении релевантности;
• ~ – перед словом делает «вес» слова отрицательным (уменьшающим релевантность);
• * —
• " – сочетание слов, заключенное в двойные кавычки, рассматривается как единое слово;
• (\' и \') – круглые скобки позволяют создавать вложенные выражения.
Например, запросвозвращает строки, содержащие слово «Мосбытприбор», но не имеющие слова «Чайник» (табл. 3.20). Таблица 3.20.
Результат выполнения запросаЕще один режим полнотекстового поиска – расширенный режим. Он отличается от обычного тем, что в результат запроса, помимо строк, отвечающих заданному критерию поиска, включаются строки, найденные по принципу схожести с несколькими первыми строками, наиболее релевантными исходному критерию. Расширенный режим полезен при поиске «наугад», когда заранее неясно, по какому критерию искать нужную строку. Для поиска в логическом режиме необходимо включить в выражение MATCH… AGAINST… параметр WITH QUERY EXPANSION: