|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
29755
|
|