Как сделать поиск по ключевым словам?
Добавить в объект с данными для поиска, например свойство search , со всеми вариантами написания искомой фразы:
Также, соответственно, потребуется немного изменить datumTokenizer :
datumTokenizer: function (d) < return d.search; // наш массив с вариантми написания >,
В итоге получаем что-то такое:
var stocksData = [< "company_name": "Facebook", "code": "fb", "search": ["Facebook", "Фэйсбук"] >, < "company_name": "Google", "code": "goog", "search": ["Google", "гугл", "пщщпду"] >]; var stocks = new Bloodhound(< datumTokenizer: function(d) < return d.search; // наш массив с вариантми написания >, queryTokenizer: Bloodhound.tokenizers.whitespace, local: stocksData >); function getStocks(q, sync) < if (q === '') < sync(stocks.all()); >else < stocks.search(q, sync); >> $('.typeahead').typeahead(< minLength: 0 >, < name: 'stocks', displayKey: 'company_name', source: getStocks >).on('typeahead:selected', function(event, data) < $('#typeahead').val(data.code); console.log(data.code); >);
Как сделать поиск по ключевым словам?

Для этого используйте конструкцию MATCH AGAINST. В мануалах там много про это есть.
Самые главные преимущества перед LIKE:
— поиск происходит не просто по тексту как с лайком, а по индексированным данным, что намного быстрее!
— опять таки поскольку данные индексированы, поиск умеет определять коэффициент релевантности(!), не плохо как для голого мускула, правда?)) И результат соответственно можно отсортировать по релевантности, что очень удобно по сравнению с лайком.
Нюансы кратко:
— для полей по которым будет осуществляться поиск должны быть определены полнотекстовые индексы
— такой поиск не может искать вхождения в середине слова (не фразы, а именно слова. ). Да в принципе это очень редко встречается на практике.
Но зато поиск будет работать гораздо быстрее чем с LIKE!
Чтобы искать например фразу «дохлые мыши не едят зерно» по словам, надо сделать такое:
— фразу загоняем в массив по пробелу: $request = explode(» «, $req_array);
— из массива удаляем заранее определенные части речи типа союзов, местоимений и т.д.
хотя и не обязательно т.к. MATCH AGAINST игнорит слова 3 и менее символов, но подсознание подлое)), а и еще ж знаки препинания убрать, мало ли.
И потом это все дело опять в строку $to_query = implode(» «, $request);
И в запрос:
select * from `table` WHERE MATCH (`myfield1`, `myfield2`) AGAINST ('$to_query' IN BOOLEAN MODE)
И еще можно сортировку по релевантности состряпать изменив немного запрос:
select *, MATCH (`myfield1`, `myfield2`) AGAINST ('$to_query' IN BOOLEAN MODE) as `score` from `table` WHERE MATCH (`myfield1`, `myfield2`) AGAINST ('$to_query' IN BOOLEAN MODE) order by `score` desc
В итоге мы сможем найти фразу наподобие: «зерновые культуры и мыши — друзья, но если мыши дохлые» по трем словам.
Заметьте, что ставить «%srch_str%» или «*srch_str*» не нужно. СУБД понимает все.
Вот как бы такой он поиск. Но еще я прикручивал phpmorphy для того чтобы вытягивать словоформы для каждого слова, тогда можно будет найти фразу типа: «зерна постоянно смеются над дохлыми мышами»
Вроде бы все:)
А, нет, не все. Еще можно помимо LIKE использовать RLIKE.
Для этого наш последний массив слов пихаем в строку, но только вот так:
$to_query = implode(«|», $request);
И в запрос: select * from `table` WHERE `myfield1` RLIKE ‘$request’ or `myfield2` RLIKE ‘$request’
Как бы те же яйца, что и с LIKE но немного удобнее формировать сам запрос.
Как добавить поиск на сайт

Кроме блоков с поиском можно использовать меню ME901, в нем можно добавить поиск, отметив галочку в Настройках блока → Основные настройки → Добавить поле поиска.
Чтобы поиск заработал, проставьте галочку «Разрешить внутренний поиск по сайту» в Настройках сайта → вкладка Еще.

После этого в течение 15 минут содержимое ваших страниц проиндексируется и в блоке с поиском начнут выводиться результаты.
Для корректной работы поиска сайт и страницы должны быть открыты для индексации. Если вы устанавливали ранее запрет на индексацию, то его нужно снять.
Поиск не осуществляется по страницам, которые ограниченны в доступе Личным кабинетом.
Как добавить поиск по сайту от Google
Важный момент: При использовании на сайте поиска от Google на странице результатов может выводиться реклама. Также поиск Google ищет только по проиндексированному содержимому. Статус индексации Google можно посмотреть с помощью встроенной панели вебмастера.
Поиск на странице в браузере: комбинация клавиш и не только
Самый простой способ выполнить поиск на странице в браузере — комбинация клавиш, позволяющие быстро вызвать интересующий инструмент. С помощью такого метода можно в течение двух-трех секунд найти требуемый текст на странице или отыскать определенное слово. Это удобно, когда у пользователя перед глазами большой объем информации, а поиск необходимо осуществить в сжатые сроки.
Горячие клавиши для поиска на странице для браузеров
Лучший помощники в вопросе поиска в браузере — горячие клавиши. С их помощью можно быстро решить поставленную задачу, не прибегая к сбору требуемой информации через настройки или иными доступным способами. Рассмотрим решения для популярных веб-обозревателей.
Internet Explorer
Пользователи Internet Explorer могут выполнить поиск по тексту с помощью комбинации клавиш Ctrl+ F. В появившемся окне необходимо ввести интересующую фразу, букву или словосочетание.
Google Chrome
Зная комбинацию клавиш, можно осуществить быстрый поиск текста в браузере на странице. Это актуально для всех веб-проводников, в том числе Google Chrome. Чтобы найти какую-либо информацию на страничке, необходимо нажать комбинацию клавиш Ctrl+F.

Mozilla Firefox
Для поиска какой-либо информации на странице жмите комбинацию клавиш Ctrl+F. В нижней части веб-обозревателя появляется поисковая строка. В нее можно ввести фразу или предложение, которое будет подсвечено в тексте на странице. Если необходимо найти ссылку через панель быстрого поиска, нужно войти в упомянутую панель, прописать символ в виде одиночной кавычки и нажать комбинацию клавиш Ctrl+G.
Opera
Теперь рассмотрим особенности поиска на странице в браузере Опера (сочетание клавиш). Для нахождения нужной информации необходимо нажать на Ctrl+F. Чтобы найти следующее значение, используется комбинация клавиш Ctrl+G, а предыдущее — Ctrl+Shift+G.

Yandex
Для поиска какой-либо информации через браузер Яндекс, необходимо нажать комбинацию клавиш Ctrl+F. После этого появляется окно, с помощью которого осуществляется поиск слова или фразы. При вводе система находит все слова с одинаковым или похожим корнем. Чтобы увидеть точные совпадения по запросу, нужно поставить отметку в поле «Точное совпадение».
Safari
Теперь рассмотрим, как открыть в браузере Сафари поиск по словам на странице. Для решения задачи жмите на комбинацию клавиш Command+F. В этом случае появляется окно, в которое нужно ввести искомое слово или словосочетание. Для перехода к следующему вхождению жмите на кнопку Далее с левой стороны.

Промежуточный вывод
Как видно из рассмотренной выше информации, в большинстве веб-проводников комбинации клавиш для вызова поиска идентична. После появления поискового окна необходимо прописать слово или нужную фразу, а далее перемещаться между подсвеченными элементами. Принципы управления немного отличаются в зависимости от программы, но в целом ситуация похожа для всех программ.
Как найти слова или фразы через настройки в разных браузерах?
Если под рукой нет информации по комбинациям клавиш, нужно знать, как включить поиск в браузере по словам через меню. Здесь также имеются свои особенности для каждого из веб-проводников.
Google Chrome
Чтобы осуществить поиск какого-либо слова или фразы на странице, можно использовать комбинацию клавиш (об этом мы говорили выше) или воспользоваться функцией меню. Для поиска на странице сделайте такие шаги:
- откройте Гугл Хром;
- жмите значок Еще (три точки справа вверху);
- выберите раздел Найти;

- введите запрос и жмите на Ввод;
- совпадения отображаются желтой заливкой (в случае прокрутки страницы эта особенность сохраняется).

Если нужно в браузере открыть строку поиска, найти картинку или фразу, сделайте такие шаги:
- откройте веб-проводник;
- выделите фразу, слово или картинку;
- жмите на выделенную область правой кнопкой мышки;
- осуществите поиск по умолчанию (выберите Найти в Гугл или Найти это изображение).

Применение этих инструментов позволяет быстро отыскать требуемые сведения.
Обратите внимание, что искать можно таким образом и в обычной вкладе и перейдя в режим инкогнито в Хроме.
Mozilla Firefox
Чтобы в браузере найти слово или фразу, можно задействовать комбинацию клавиш (об этом упоминалось выше) или использовать функционал меню. Для поиска текста сделайте следующее:
- жмите на три горизонтальные полоски;
- кликните на ссылку Найти на этой странице;
- введите поисковую фразу в появившееся поле (система сразу подсвечивает искомые варианты);
- выберите одно из доступных действий — Х (Закрыть поисковую панель), Следующее или Предыдущее (стрелки), Подсветить все (указываются интересующие вхождения), С учетом регистра (поиск становится чувствительным к регистру) или Только слова целиком (указывается те варианты, которые полностью соответствуют заданным).
Если браузер не находит ни одного варианта, он выдает ответ Фраза не найдена.
Выше мы рассмотрели, как найти нужный текст на странице в браузере Mozilla Firefox. Но бывают ситуации, когда требуется отыскать только ссылку на странице. В таком случае сделайте следующее:
- наберите символ одиночной кавычки, которая открывает панель быстрого поиска ссылок;
- укажите нужную фразу в поле Быстрый поиск (выбирается первая ссылка, содержащая нужную фразу);
- жмите комбинацию клавиш Ctrl+G для подсветки очередной ссылки с поисковой фразы.
Чтобы закрыть указанную панель, выждите некоторое время, а после жмите на кнопку Esc на клавиатуре или жмите на любое место в браузере.
Возможности Firefox позволяют осуществлять поиск на странице в браузере по мере набора фразы. Здесь комбинация клавиш не предусмотрена, но можно использовать внутренние возможности веб-проводника. Для начала нужно включить эту функцию. Сделайте следующее:
- жмите на три горизонтальные полоски и выберите Настройки;
- войдите в панель Общие;
- перейдите к Просмотру сайтов;
- поставьте отметку в поле Искать текст на странице по мере набора;
- закройте страничку.
Теперь рассмотрим, как искать в браузере по словам в процессе ввода. Для этого:
- наберите поисковую фразу при просмотре сайта;
- обратите внимание, что первое совпадение выделится;
- жмите Ctrl+G для получения следующего совпадения.
Закрытие строки поиска происходит по рассмотренному выше принципу — путем нажатия F3 или комбинации клавиш Ctrl+G.
Opera
Если нужно что-то найти на странице, которая открыта в Опере, можно воспользоваться комбинацией клавиш или кликнуть на значок «О» слева вверху. Во втором случае появится список разделов, в котором необходимо выбрать Найти. Появится поле, куда нужно ввести слово или фразу для поиска. По мере ввода система сразу осуществляет поиск, показывает число совпадений и подсвечивает их. Для перемещения между выявленными словами необходимо нажимать стрелочки влево или вправо.
Yandex
Иногда бывают ситуации, когда нужен поиск по буквам, словам или фразам в браузере Yandex. В таком случае также можно воспользоваться комбинацией клавиш или встроенными возможностями. Сделайте такие шаги:
- жмите на три горизонтальные полоски;
- войдите в раздел Дополнительно;
- выберите Найти.

В появившемся поле введите информацию, которую нужно отыскать. Если не устанавливать дополнительные настройки, система находит грамматические формы искомого слова. Для получения точного совпадения нужно поставить отметку в соответствующем поле. Браузер Яндекс может переключать раскладку поискового запроса в автоматическом режиме. Если он не выполняет этих действий, сделайте следующее:
- жмите на три горизонтальные полоски;
- войдите в Настройки;

- перейдите в Инструменты;
- жмите на Поиск на странице;
- проверьте факт включения интересующей опции (поиск набранного запроса в другой раскладке, если поиск не дал результатов).

Safari
В этом браузере доступна опция умного поиска. Достаточно ввести одну или несколько букв в специальном поле, чтобы система отыскала нужные фрагменты.
Итоги
Владея рассмотренными знаниями, можно скачать любой браузер и выполнить поиск нужного слова на странице. Наиболее удобный путь — использование комбинации клавиш, но при желании всегда можно использовать внутренние возможности веб-проводника.