Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> SQL
Начать новую тему   Ответить на тему   вывод темы на печать

SQL

Автор
Сообщение
Slider
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 13.11.2006
Сообщения: 6289
Откуда: Екатеринбург&Шадринск

Статус: Offline
СообщениеДобавлено: 2011.10.21 14:48.50
Ответить с цитатой
есть вопрос:
запрос

SELECT DISTINCT href,
            id,
            field_name, field_data,
            site_id, search_group_id, topic,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+30d-11-14'  IN BOOLEAN MODE)) )        as rel,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+30d-11-14'  IN BOOLEAN MODE)) )    as rel1,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+'  IN BOOLEAN MODE)) )    as rel2
        FROM
            engio_search_index
        WHERE
            ( MATCH(field_data) AGAINST ('+30d-11-14' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+30d-11-14' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+30d-11-14*' IN BOOLEAN MODE ))
        AND
            (search_group_id = 1)

               

               
         GROUP BY
            href
         ORDER BY
            MATCH (field_data) AGAINST ('30d-11-14') DESC, rel, rel1, rel2, href DESC
                LIMIT 40



По нему ничего не находится.
Есть второй запрос:


SELECT DISTINCT href,
            id,
            field_name, field_data,
            site_id, search_group_id, topic,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+30d-11-14 ml333r'  IN BOOLEAN MODE)) )        as rel,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+30d-11-14'  IN BOOLEAN MODE)) )    as rel1,
            (relevance + sub_relevance*(MATCH (field_data) AGAINST ('+ml333r'  IN BOOLEAN MODE)) )    as rel2
        FROM
            engio_search_index
        WHERE
            ( MATCH(field_data) AGAINST ('+30d-11-14 ml333r' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+30d-11-14' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+30d-11-14*' IN BOOLEAN MODE )
            OR MATCH(field_data) AGAINST ('+ml333r' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+ml333r*' IN BOOLEAN MODE ))
        AND
            (search_group_id = 1)

               

               
         GROUP BY
            href
         ORDER BY
            MATCH (field_data) AGAINST ('30d-11-14 ml333r') DESC, rel, rel1, rel2, href DESC
                LIMIT 40




Разница в том, что во втором запросе в WHERE добавлено условие:


OR MATCH(field_data) AGAINST ('+ml333r' IN BOOLEAN MODE)
            OR MATCH(field_data) AGAINST ('+ml333r*' IN BOOLEAN MODE )


И изменено

('+30d-11-14' IN BOOLEAN MODE)


на

('+30d-11-14 ml333r' IN BOOLEAN MODE)



Первый запрос не находит ничего. Второй находит.

Вот данные которые находит второй запрос:

Генератор FDJ/ML333R

Результат запроса во вложении.


Теперь вопрос: почему?
_________________
накапливаю джедайскую силу
http://booking.com/ http://bookingb2b.com/
http://www.aicgroup.biz http://www.gta-travel.com/en/home



zapros.jpg
 Описание:
 Размер файла:  321.47 KB
 Просмотрено:  901 раз(а)

zapros.jpg


Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2011.10.21 14:55.39
Ответить с цитатой
потому что во втором запросе ты сервер просишь найти строки содержащие ml333r, вот он тебе их и находит
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
ErrorFree
troppus



Зарегистрирован: 21.10.2011
Сообщения: 2


Статус: Offline
СообщениеДобавлено: 2011.10.21 15:05.50
Ответить с цитатой
В результатах есть данные соответствующие первому условию. В 10 строчке результата например.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2011.10.21 15:10.32
Ответить с цитатой
я практически не работал с полнотекстовым поиском, может поэтому не вижу этого условия

Добавлено спустя 1 минуту 48 секунд:

ErrorFree писал(а):
В 10 строчке результата например.
могу предположить, что "-" рассматривается как управляющий символ в условии.
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
ErrorFree
troppus



Зарегистрирован: 21.10.2011
Сообщения: 2


Статус: Offline
СообщениеДобавлено: 2011.10.21 15:35.49
Ответить с цитатой
"-" не спецсимвол, на сколько я знаю

Добавлено спустя 2 минуты 34 секунды:

хотя кажется так и есть
Посмотреть профиль Отправить личное сообщение
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> PHP, PERL, HTML, CSS etc -> SQL

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы