Пользуюсь конструкцией типа WHERE MATCH (name) AGAINST('$find'), где name тип FULLTEXT;
Такая конструкция не устраивает.
Минусы. Ищется только то, что вводится в строчку поиска (переменная $find). При отклонении, хотя бы в 1 символ, поиск запарывается.
Искать получается только по 1 полю из таблицы. Пытаюсь искать сразу по 2 полям и ничего не получается. Заведомо ставлю св-во FULLTEXT этим полям.
Искать можно только слова, от 4 символов. Это из-за типа FULLTEXT так. Как его можно поменять/изменить? Ведь многие слова и из 3 букв состоят

Кто что может порекомендовать? Особо крутой поиск не нужен. Еще раз повторюсь: поиск происходит по 1 большой таблице. В таблице, примерно, 10 полей. Нужно что-то посильней и оптимальней самого простого поиска.
Кидайте свои мысли сюда.
Спустя 10 минут, 57 секунд (20.05.2010 - 16:45) Nikitian написал(а):
like?
Спустя 12 часов, 42 минуты, 16 секунд (21.05.2010 - 05:27) SarPHP написал(а):
Как сделать так, чтобы LIKE искал по нескольким словам в запросе? Поясню.
Имеется предложение: "Жили были кот и собака. Медведь жил на параллельной улице". Вводим в поле поиска "кот медведь". В итоге ничего не найдется.
На данный момент, выборка такая:
$result = mysql_query("SELECT * FROM `table` WHERE `name1` LIKE '%$find%' OR `name2` LIKE '%$find%'",$db);
Имеется предложение: "Жили были кот и собака. Медведь жил на параллельной улице". Вводим в поле поиска "кот медведь". В итоге ничего не найдется.
На данный момент, выборка такая:
$result = mysql_query("SELECT * FROM `table` WHERE `name1` LIKE '%$find%' OR `name2` LIKE '%$find%'",$db);
Спустя 2 часа, 2 минуты, 37 секунд (21.05.2010 - 07:29) Raito-kun написал(а):
RLIKE
! Спустя 2 часа, 11 минут, 7 секунд (21.05.2010 - 09:41) SarPHP написал(а):
с RLIKE вообще ничего не выдает
Спустя 40 минут, 32 секунды (21.05.2010 - 10:21) Nikitian написал(а):
Разбейте строку на слова по пробелам и сформируйте запрос с несколькими условиями на and или or.
Спустя 3 часа, 6 минут, 15 секунд (21.05.2010 - 13:27) SarPHP написал(а):
А можно ссылочку на то, как это делается? Чем дальше в лес, тем больше дров 
СПАСИБО что помогаете!

СПАСИБО что помогаете!
Спустя 46 минут, 16 секунд (21.05.2010 - 14:14) Basili4 написал(а):
$text="ехали медведи на велосипеде";
$text=" Like '%".str_replace(" ","%' And Like '%",$text)."'"; как то так.
and - можно заменить на or если нужен строгий поиск % убить
$text=" Like '%".str_replace(" ","%' And Like '%",$text)."'"; как то так.
and - можно заменить на or если нужен строгий поиск % убить
Спустя 5 часов, 33 минуты, 51 секунда (21.05.2010 - 19:47) SarPHP написал(а):
Basili4, вы не напутали с пунктуацией в вашем примере?
Спустя 13 часов, 49 минут, 27 секунд (22.05.2010 - 09:37) Fredrich написал(а):
Цитата (Basili4 @ 21.05.2010 - 11:14) |
$text="ехали медведи на велосипеде"; $text=" Like '%".str_replace(" ","%' And Like '%",$text)."'"; как то так. and - можно заменить на or если нужен строгий поиск % убить |
че то я тут ничего не понял, можно подробнее данную конструкцию разобрать.
Заранее спасибо.
Спустя 7 часов, 15 минут, 27 секунд (22.05.2010 - 16:52) Basili4 написал(а):
SarPHP
Ну вы её испоните и увидете что вместо ехали медведи на велосипеде будет
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде%';
И эту строку можно использовать в условии запроса
Пример
Если в табле table1 в поле table1.T будет текст одновремено содержащий слова включающие в себя подстроки медведи и ехали
Примеры текстов соответсвующие условию
Ехали медведи на велосипеде
Ехали медведи на Мопеде
ыячволехалисчмчсмчс Вовсе не ываывафымедведивафыаыв на мопеде
Вот все тексты будут соответсвовать условию
Примеры текстов НЕ соответсвующие условию
Ехали Слоны на велосипеде
медведи на велосипеде
Фух вроде все объяснил. Если чего не понятно пишите в асю на пальцах объясню
Ну вы её испоните и увидете что вместо ехали медведи на велосипеде будет
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде%';
И эту строку можно использовать в условии запроса
Пример
SELECT
table1.T
FROM
database1.table1
WHERE
table1.T LIKE "%медведи%" and table1.T LIKE "%ехали%" ;
Если в табле table1 в поле table1.T будет текст одновремено содержащий слова включающие в себя подстроки медведи и ехали
Примеры текстов соответсвующие условию
Ехали медведи на велосипеде
Ехали медведи на Мопеде
ыячволехалисчмчсмчс Вовсе не ываывафымедведивафыаыв на мопеде
Вот все тексты будут соответсвовать условию
Примеры текстов НЕ соответсвующие условию
Ехали Слоны на велосипеде
медведи на велосипеде
Фух вроде все объяснил. Если чего не понятно пишите в асю на пальцах объясню
Спустя 5 минут, 50 секунд (22.05.2010 - 16:58) Basili4 написал(а):
Fredrich
Значит так заменяю все пробелы на конструкцию
%' And Like '%
В моем примере получается
ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде
Но эта строка не годится её надо дополнить
Like '% - Это в начале получается
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде
"'"- эту кавычу в конец получаем полню строку
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде%'
Значит так заменяю все пробелы на конструкцию
%' And Like '%
В моем примере получается
ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде
Но эта строка не годится её надо дополнить
Like '% - Это в начале получается
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде
"'"- эту кавычу в конец получаем полню строку
Like '%ехали%' And Like '%медведи%' Like '%на%' Like '%велосипеде%'
_____________
Вольный веб-дизайнер, идейщик с постоянным чувством информационного голода; когда знания ценнее денег - когда узнаешь новое и уважаешь в прошлое уходящее..