За последние 24 часа нас посетил 59631 программист и 1851 робот. Сейчас ищут 1886 программистов ...

MySQL/MyISAM. Не работает fulltext поиск

Тема в разделе "PHP и базы данных", создана пользователем sadex, 26 фев 2014.

  1. sadex

    sadex Новичок

    С нами с:
    8 июл 2013
    Сообщения:
    6
    Симпатии:
    0
    Для простоты, сделал fulltext индекс только по одному полю, в нем и ищу. Поведение странное:
    Код (Text):
    1. // выводит все строки таблицы
    2. $sql = "SELECT *, MATCH content AGAINST ('$kw') FROM $tbl";
    3.  
    4. // не находит ничего
    5. $sql = "SELECT * FROM $tbl WHERE MATCH (content) AGAINST ('$kw')";
    6.  
    7. $res = mysqli_query($link, $sql); // Выполняем запрос в БД
    В обоих случаях запрос работает, но результат - либо ничего не найдено, либо везде найдено (все строки таблицы), независимо от условий поиска (слово, несколько слов).

    Помогите, люди знающие - разное перепробовал, но без успеха.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я сфинксом ищу...
     
  3. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Если есть хотя бы свой vps.

    Кстати сейчас vps с минимальным набором у некоторых компаний стоит как средний хостинг. Переходи на него и не будет проблем с полнотекстовым поиском.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    впс десятку стоит так же
     
  5. sadex

    sadex Новичок

    С нами с:
    8 июл 2013
    Сообщения:
    6
    Симпатии:
    0
    Благодарю за внимание к теме. Все заработало, надо только было участь нижеследующее.
    1. Критерий поиска должен содержать не менее четырех символов.
    2. Должно быть не более 50% соответствия критерию поиска, иначе тоже не будет вывода - такова логика работы полнотекстового поиска.

    Насчет Сфинкса - хорошая вещь, для больших наборов данных. Я же пока просто знакомлюсь с техникой полнотекстового поиска в MySQL, сделал простенький сниппет, вроде работает. Список ссылок на статьи с искомым критерием выводит.
    Теперь думаю сделать таблицу БД, в которую собирать результат поиска. Оттуда можно будет выводить тексты статей с подсветкой искомого критерия.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Есть еще like %