H01mes
В прошлом rkinfo
- Регистрация
- 28 Авг 2008
- Сообщения
- 138
- Реакции
- 26
- Автор темы
- #11
так не получется потому как организационно правовая форма прописанна не у всех организаций и плюс в разных полях т.к. скрипт каталога был переписан и в новой его версии орган.форма пишется в отдельном поле. а за ссылку спасибо.но я бы сделал при поиске выбор организационно-правовой формы из списка - их ведь не так много получится
так сделать тоже не выйдет т.к. некоторые предприниматели изъявляют желание чтоб название писалось полностью.Чтобы было меньше головной боли наведи порядок в поле с формами собственности. Т.е. переименуй все "Обшество с ограниченной ответственностью" в ООО, "Акционерное общество" в АО и т.д.
этот вариант былбы идеальным на мой взгляд но сделать так не представляется возможным (Ищешь в запросе форму собственности по списку, переводишь, если нужно, в тот формат в котором она находится в БД. Пусть это будет $form.
Удаляешь ее из запроса и устанавливаешь между словами по одному пробелу(в БД должно быть то же самое). Пусть название предприятия будет $name;
Добавлено через 12 минут
прокомментируйте пожалуйста свой пример кода точнее о чем говорит 1.5 * , 1.2 * что делает в данном примере и какую роль играет? а то я несовсем его понимаю.PHP:$terms=explode(" ","ООО ПРАВО"); foreach ($terms as $trm) { $term.="$trm "; } $term=rtrim($term); $query = "SELECT id,111,222, ( (1.5 * (MATCH(111) AGAINST ('$term' IN BOOLEAN MODE))) + (1.2 * (MATCH(222) AGAINST ('$term' IN BOOLEAN MODE))) ) AS relevance from ".$basepref."_catorg WHERE ( MATCH(111,222) AGAINST ('$term' IN BOOLEAN MODE) ) HAVING relevance > 0 ORDER BY relevance DESC LIMIT 10";
1.5,1.2 -пример, сам подставь какие нужно. Если таблица конечно не innodb, и если я правильно понял что те нужно.