Привет всем, сразу к наболевшему.
Как я понимаю реализация поиска по картинкам дело не сложное т.к. это всё же поиск слов... ключевых слов. Проблема в организации базы данных.
Как я представляю/понимаю это так:
1. Таблица "images"
1.1. id
1.2. idkey (перечисление через запятую?)
1.3. src
2. Таблица "keywords"
2.1. id
2.2. keywords
2.3. count (+1, если слово дублируется... для построения облака тегов)
1. LEONeso - 15 Ноября, 2011 - 18:03:14 - перейти к сообщению
2. Самогонщик - 15 Ноября, 2011 - 18:16:24 - перейти к сообщению
даю варианты:
1. добавить ещё одну таблицу чтобы стыковать нормально первую и вторую таблицу.
2. не добавлять ещё таблицу, а во второй хранить ид из первой и слово. Количество можно на лету посчитать.
В любому случае 1.2. это ад.
1. добавить ещё одну таблицу чтобы стыковать нормально первую и вторую таблицу.
2. не добавлять ещё таблицу, а во второй хранить ид из первой и слово. Количество можно на лету посчитать.
В любому случае 1.2. это ад.
3. De-Luxis - 15 Ноября, 2011 - 18:39:50 - перейти к сообщению
Отдельно таблица с картинками.
Отдельно таблица с тегами.
Отдельно таблица с id тегов и картинок.
Тблица 1:
id
src
Таблица 2
id
key
Таблица 3
id_image
id_key
Отдельно таблица с тегами.
Отдельно таблица с id тегов и картинок.
Тблица 1:
id
src
Таблица 2
id
key
Таблица 3
id_image
id_key
4. koras - 15 Ноября, 2011 - 18:55:28 - перейти к сообщению
Что за извращение?
А одной таблицей слабо сделать?
Не усложняйте себе жизнь, а делайте сразу правильно.
Почитайте о полнотекстовом поиске и с чем его едят.
Даже ссылку подыскал http://phpclub[dot]ru/mysql/doc/fulltext-search[dot]html
А одной таблицей слабо сделать?
Не усложняйте себе жизнь, а делайте сразу правильно.
Почитайте о полнотекстовом поиске и с чем его едят.
Даже ссылку подыскал http://phpclub[dot]ru/mysql/doc/fulltext-search[dot]html
5. Самогонщик - 15 Ноября, 2011 - 19:39:27 - перейти к сообщению
koras пишет:
Можно и одной, но я бы для повышения своего ЧСВ оправдывая заделом на будущее (быстрый поиск тегов для подсказки пользователю) остановился бы на двух или трёх таблицах. Главное чтобы 1.2. не было.А одной таблицей слабо сделать?
(Добавление)
Хотя о чём это я... зачем хранить теги списком через запятую а потом мучительно их искать, удалять, вставлять и т.д.?
6. LEONeso - 15 Ноября, 2011 - 20:09:26 - перейти к сообщению
Самогонщик, т.е. не стоит бояться плодить записи в базе данных... стоит делать так:
1. 'id', 'src' таблица с данными изображения
2. 'id', 'key' таблица с ключевыми словами, где "запись = одному слову"
3. 'id_src', 'id_key' связка данных двух таблиц
2.1 - explode ... затормозит работу скрипта и выдаст задержку в поисковой выдаче? верно я понимаю?
koras, в данный момент работает с одной таблицей, где привязаны ключевые слова к определенному изображению... но от сюда и ограниченный функционал ,что не есть хорошо... связывает руки для дальнейших целей.
1. 'id', 'src' таблица с данными изображения
2. 'id', 'key' таблица с ключевыми словами, где "запись = одному слову"
3. 'id_src', 'id_key' связка данных двух таблиц
2.1 - explode ... затормозит работу скрипта и выдаст задержку в поисковой выдаче? верно я понимаю?
koras, в данный момент работает с одной таблицей, где привязаны ключевые слова к определенному изображению... но от сюда и ограниченный функционал ,что не есть хорошо... связывает руки для дальнейших целей.
7. Самогонщик - 15 Ноября, 2011 - 20:17:12 - перейти к сообщению
Поиск по индексу производится за логарифмическое время, быстрее уже почти некуда.
Можно таблицу два выкинуть и ссылаться из третей сразу на первую, но тут теги будут повторяться, зато запросы проще
Вообще, выдумай типичные запросы, бахни генератор записей (100000 картинок и 1000 разных тегов по 10 связок в среднем), погоняй запросы для разных реализаций и выложи результаты, думаю всем будет интересно.
Или выбери один из вариантов и делай как делается, если что конвертнёшь в другой
Можно таблицу два выкинуть и ссылаться из третей сразу на первую, но тут теги будут повторяться, зато запросы проще
Вообще, выдумай типичные запросы, бахни генератор записей (100000 картинок и 1000 разных тегов по 10 связок в среднем), погоняй запросы для разных реализаций и выложи результаты, думаю всем будет интересно.
Или выбери один из вариантов и делай как делается, если что конвертнёшь в другой
8. LEONeso - 15 Ноября, 2011 - 20:44:30 - перейти к сообщению
Самогонщик, мне подсказывают об уникальных индексах... что исключит дубликаты из ключевых слов: #1062 - Duplicate entry
Вот эти нюансы, о которых я не знал, функционал mysql. Придется изучать более подробно.
Вот эти нюансы, о которых я не знал, функционал mysql. Придется изучать более подробно.