|
MySQL.RU - Webboard
Вернуться
Использовать побитовую маску для keywords (alrond) 18/07/2006 - 14:21:27
Re: Использовать побитовую маску для keywords (Dinky) 18/07/2006 - 22:59:09
Re: Использовать побитовую маску для keywords (alrond) 19/07/2006 - 11:56:44
Re: Использовать побитовую маску для keywords (Dinky) 19/07/2006 - 19:51:58
> Original message text:
> From: alrond - 18/07/2006 - 14:21:27
> Subject:Использовать побитовую маску для keywords
> -----------------
> Привет!
> я только начинаю проектировать базу данных для одного проекта.
> Есть интересная задумка: для каждой статьи наряду с темой использовать "ключевые слова", которые выбираются редактором, а не скриптом.
> Например:
> Тема "Про Это"
> Статья "Где я это вчера сделал"
> Ключевые слова "Это", "Вовочка", "Лес"
>
> Ключевых слов много, пару сотен думаю (зависит от специализации сайта)
> Вот и думаю как это реализовать.
> Есть 2 возможности:
>
> 1) Использовать побитовую маску
>
> |-ID-|--------Header----------|----Text----|-ID_Thema-|-KeyWords-|--Avtor--|
> |-33-|-Где я это вчера сделал-|-Ляляляляля-|----15----|----@-----|--12345--|
>
> Keywords - однобайтовый.
> @ = hex 64 = Bin 01100100
> означают соответственно слова. Соответствие будет в другой таблице.
> 0 - "Не Это"
> 1 - "Это"
> 1 - "Вовочка"
> 0 - "разное"
> 0 - "Другое"
> 1 - "Лес"
> 0 - "Другое"
> 0 - "Другое"
>
> Можно сделать многобайтовый столбец для всех слов.
> Если 200 ключевых слов, то например 25 байт
> Проблема - можно ли использовать все ASCII или только букво-цифрово-символьные
>
> 2) Или использовать дополнительную таблицу
>
> |-ID-|-Не Это-|-Это-|-Вовочка-|-Разное-|-Другое-|-Лес-|
> |-33-|---0----|--1--|----1----|---0----|----0---|--1--|
>
> Так как предпологается, что небольших статей может быть десятки тысяч от разных пользователей, а ключевых слов порядка пары сотен (задаются заранее админом, возможны добавления)
> То по второму варианту получается огромная таблица. Важны скорость обработки и размер базы.
> Мне кажется работать побитно - это более элегантное и быстрое решение.
> Проблема только в обратном преобразовании, если я захочу показать все статьи с одним или более ключевыми словами.
>
From: alrond - 19/07/2006 - 11:56:44
Subject:Использовать побитовую маску для keywords
-----------------
Это для столбца KEYWORDS?
я думал в mysql есть средства работы с битовыми масками.
Сложность организовать поисковый запрос на основе некоторых KEYWORDS.
То есть например в таблице, где представлены маски ключевых слов. Например так:
|-IDWORDS--|-MASKA-|
|-"Не Это"-|--?----| // Hex80=10000000
|-"Это"----|--@----| // Hex40=01000000
|-"Вовочка"|-- ----| // Hex20=00100000 пробел
|-"разное"-|-стрелка| // Hex10=00010000
|-"Другое"-|-значок| // Hex8 =00001000
|-"Лес"----|-буба--| // Hex4 =00000100
|-"Другое"-|-смайлик| // Hex2 =00000010 черная буба
|-"Другое"-|-смайлик| // Hex1 =00000001 белая буба
Теперь собираем маску для поиска из @, прбела и бубы
01000000
00100000
00000100
________
01100100 //Hex64 = "d"
Кстати, я там сверху ошибку допустил не "@", а "d"
вот теперь мы ищем все тексты, у которых KEYWORDS="d"
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
29190
|
|