возвращает единственную строку (табл. 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: