Сортировка в поиске

idencial

Одинаковый
Сортировка в поиске

Значит необходимо реализовать следующее.

Поиск ведется одновременно как на совпадение с частью слова, так и на полное совпадение, т.е '%$key%' и в результатах поиска необходимо, чтобы те записи, в которых совпадение со всем словом были бы раньше, чем те, где совпадение только с частью слова.
 

Romantik

TeaM PHPClub
http://detail.phpclub.net
там есть отличные статьи по поиску с релевантностью.
Думаю это тебе поможет.
 

idencial

Одинаковый
Кстати, совпадение с целым словом - это LIKE '% $key %' (с пробелами вокруг)?
 

Demiurg

Guest
Нет, по такому шаблону не наудет слово "Кстати" в твоем вопросе.
 

idencial

Одинаковый
почему?
Объясни пожалуйста как надо правильно сделать.
 

idencial

Одинаковый
Еще доп. вопрос.

Я ищу не по простому тексту, а еще и html. С подсветкой слов все ясно, там ereg_replace, а в MySQL для этого надо пользоваться встроенными регулярными выражениями или можно через LIKE сделать так, чтобы поиск теги не учитывал7
 

idencial

Одинаковый
1)Как же правильно составить запрос для совпадения только с целым словом?

2) Неужели никто не искал по базе в поле, где есть теги, но учитывать их не надо?
 

idencial

Одинаковый
Никто не может объяснить почему запрос для совпадения с целым словом - LIKE '% $key %' (с пробелами вокруг) неправильный?
Как надо правильно?
 

Сытник

Guest
Автор оригинала: idencial
Никто не может объяснить почему запрос для совпадения с целым словом - LIKE '% $key %' (с пробелами вокруг) неправильный?
Как надо правильно?
Так ты не найдешь слова после которых стоят знаки препинания, а также первое и последнее слова в тексте...
 

si

Administrator
1)Как же правильно составить запрос для совпадения только с целым словом?

2) Неужели никто не искал по базе в поле, где есть теги, но учитывать их не надо?
Создать еще одну таблицу куда писать все слова, по которым надо вести поиск, и при поиске использовать эту таблицу

P.S Посмотри как это сделано в mnogosearch.ru
 
Сверху