Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: MySQL полнотекстовый поиск  (Прочитано 6593 раз)
0 Пользователей и 1 Гость смотрят эту тему.
BlueWhite
Интересующийся

il
Offline Offline
Пол: Мужской

« : 12-12-2017 10:17 » 

Не могу никак врубиться
Если учесть что в описании БД написано что при полнотекстовом поиске минимальная длина слова 4 символа - а в случае необходимости найти слова начинающиеся на the можно употреблять звездочку то:

Получается чтобы найти в текстовом поле всех записей слова которые мне нужны и вывести только те записи в которых встречаются все  поля поисковой запрос должен быть таким
SELECT * from table WHERE MACTH (text_description) AGAINST ("+slovo1" "+slovo2");
Однако если слово 1 найдено несмотря на + и обязательность кавычками второго слова - выдает результаты по первому
Если одно из слов меньше 4х символов - результатов нет
Куда грести?
Записан
BlueWhite
Интересующийся

il
Offline Offline
Пол: Мужской

« Ответ #1 : 12-12-2017 10:18 » 

Да забыл написать что использую бинарный поиск с IN BOOLEAN MODE
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 12-12-2017 21:54 » 

Я так и не постиг это чудо. Ну его в топку, есть полноценные программные движки полнотекстового поиска. Бекендом может быть любая СУБД.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 14-12-2017 09:13 » new

Я так и не постиг это чудо. Ну его в топку, есть полноценные программные движки полнотекстового поиска. Бекендом может быть любая СУБД.
Ну, все зависит от объемов и сервера
Не каждый шаред даст elasticsearch, или sphinx
так что full text вполне решение

может не совсем корректен запрос
AGAINST ('"+slovo1" "+slovo2"');


Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
BlueWhite
Интересующийся

il
Offline Offline
Пол: Мужской

« Ответ #4 : 18-12-2017 13:24 » 

В конечном итоге все получилось.
1. Нет возможности вообще искать что-то меньше чем 4 символа - надо менять настройки СУБД, что на обычных хостингах виртуальных не актуально.
2. Надо добавлять *  и тогда ищется любое включение от слово и тогда находит что надо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines