Как избавится от избыточного результата поиска

Sexycat

Guest
Как избавится от избыточного результата поиска

В общим запрос выглядит примерно так:

SELECT SQL_CALC_FOUND_ROWS *
FROM search_ftp_all, search_ftp
WHERE search_ftp_all.ftp_id=search_ftp.id_ftp and
MATCH (name,path) AGAINST ('winnt* ' IN BOOLEAN MODE)
ORDER BY REEL DESC LIMIT 0, 20


в базе данных хранится индекс файлов фтп серверов..
тоесть если запрос находит любое совпадение в столбах path или name он возвращает результат, как сгруппировать сторки так что-бы те которые содержат совпадений с ключевым словом в поле name и содержат одно и то-же значение в поле path соединились в один результат чтоли к примеру с name равном null или что-то в этом роде..?
 

hash

Guest
может ты поконкретней вопрос сформулируеш?
 

Sexycat

Guest
Я полнотекстовым поиском ищу в двух полях...
в одном поле записаны пути к файлам типа
/тра/ля/ля/
в другом имя файла

нужно отделить найденые файлы от найденых директорий...
тоесть к примеру, есть папка с виндовсом нт, пользователь вводит

winnt

и он находит 3 тыщи строк.. нужно избавится от этих строк если не найдено совпадение в поле, содержащем имя файла..
 

Alexandre

PHPПенсионер
делай в два запроса

используй реги:
http://dev.mysql.com/doc/mysql/ru/Regexp.html
 

Sexycat

Guest
Alexandre - Регекспы это хороше когда у тебя 10-20 записей.. :) а если 200-300 тыс.

-~{}~ 29.12.04 07:15:

Вообще-то я реорганизовал базу, и уже не долблюсь головой об стену, но если есть возсожность узнать в каком из полей было совпадение при полнотекстовом поиске, мне было бы интересно
 
Сверху