Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
индексы и LIKE с процентами... (Pjanis) 23/09/2006 - 18:18:39
      Re: индексы и LIKE с процентами... (Ivan) 23/09/2006 - 18:31:50
      Re: индексы и LIKE с процентами... (Pjanis) 23/09/2006 - 18:42:18
      Re: индексы и LIKE с процентами... (Ivan) 24/09/2006 - 13:51:13

> Original message text:
> From: Pjanis - 23/09/2006 - 18:18:39
> Subject:индексы и LIKE с процентами...
> -----------------
> Вопрос к гуру: в таблице по двум тектовым полям идет поиск вида: "SELECT ... FROM ... WHERE (author LIKE '%...%') OR (caption LIKE '%...%')"
> Возможно ли устроить индекс для этого?
> Конкретно смущает наличие LIKE'а с "процентами"
>
> Если не возможно, то как ускорить выборку? Отказываться от первого % уж очень не хочется
>


From: Ivan - 24/09/2006 - 13:51:13
Subject:индексы и LIKE с процентами...
-----------------
Не возьмусь объяснять, так как плохо понимаю как он работает :-( Для этого уже нужно курить доки по алгоритмам поиска. Могу посоветовать только попробовать применить его к своим данным и посмотреть, удовлетворяет он Вашим требованиям к поиску или нет.

Попробуйте создать FULLTEXT индекс для полей author и caption и погонять на таблице запросы вида:

SELECT * FROM ... WHERE MATCH(author, caption) AGAINST('искомое слово или фраза', ...).

Попробуйте различные режимы поиска, например, 'IN BOOLEAN MODE'

Релевантность результатов можно получить при помощи запроса:

SELECT MATCH(author, caption) AGAINST('искомое слово или фраза', ...) AS relev, ... FROM ... WHERE MATCH(author, caption) AGAINST('искомое слово или фраза', ...)

http://dev.mysql.com/doc/refman/4.1/en/fulltext-search.html


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29755



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |