Правильный MySQL поиск.

panika

Новичок
Правильный MySQL поиск.

Допустим у меня есть ячейка в MYSQL с типом text; в форме поиска есть ячейка куда пользователь может ввести 2 3 или более слов. У меня вопрос как правильно задать запрос к MYSQl чтобы предпочтение было сразу нескольким словам(в зависимоти сколько он вводит); допустим в словах у него есть ошибка - например написал: товр (вместо "товар"), но поиск находит те ячейки в которых есть слова "товар". Читал статьи, а там все написано обобщенно, а мне надо точнее.
Пожалуйста помогите, заранее спасибо.
 

x-yuri

Новичок
если ты собираешься пользоваться fulltext-индексами, то тут все подробно описано
 

Glazyrin Sergey

Новичок
Хм морфологический поиск ?
Погугли sphinx - я чо то про морфологию не слышал в мускуле
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: panika
допустим в словах у него есть ошибка - например написал: товр (вместо "товар"), но поиск находит те ячейки в которых есть слова "товар". Читал статьи, а там все написано обобщенно, а мне надо точнее.
Ты кагбэ яндексом и гуглем пользовался? Они ведь не ищут по слову "товар", когда кто-то ввёл "товр", они ищут по "товр" и отдельно высказывают предположение: а не облажался ли ты, может ты имел в виду "товар"?..

Не считай себя умнее крупнейших поисковиков.

Те, кто отвечал передо мной --- долбоклюи, не читающие вопросы.
 

x-yuri

Новичок
Sad Spirit если ты внимательно прочитаешь один из вопросов ("...чтобы предпочтение было сразу нескольким словам..."), то сам сможешь составить свой критический автопортрет
я разве что не совсем корректно выразился
 

Balancer

Новичок
Я не один год произвращался с разными вариациями поиска на больших базах.

Лучшее, что пока встретил из свободного - это Sphinx. http://www.sphinxsearch.com/

Быстрый, нетребовательный, очень удобно прикручивается к любому формату БД.

У меня на форуме 1,6млн сообщений общим объёмом 3,5Гб. Полная индексация на древнем Xeon-1800 занимает около получаса (проводится по ночам раз в неделю), дельта-индексация занимает несколько секунд, поэтому выполняется вообще каждую минуту :) Индекс весит около 700Мб, не грузит при поиске mysql, позволяет искать фильтруя по пользователям, форумам, диапазонам дат, ищет в заголовках или заголовках/телах.

Имеет нативные примеры с привязкой к PHP.

Пример использования на практике.

Код: http://hg.balancer.ru/hgwebdir/bors-core/file/385df3552a4c/classes/bors/tools/search/result.php

Результат: http://balancer.ru/tools/search/
 
Сверху