|
|
|
| Скажите, как делается поиск, например в магазинах, каталогах, где в адресной строке написана категория латиницей, например www.site.ru/bitovaya_tehnika
очень интересно, как оно ищет по базе? Если в адресной строке первичный ключь www.site.ru/id_cat=25 то понятно, по ключу..а так | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:05)
| | Обычно этим номерам сопоставляется значение первичного ключа при помощи таблицы или ReWrite-правил в конфигурационном файле .htaccess, т.е. фактически поиск все-равно ведется по номеру. | |
|
|
|
|
|
|
|
для: cheops
(25.04.2011 в 13:13)
| | а какой смысл так делать? Если можно по ключам в адресной | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:31)
| | Некоторые разработчики и пользователи считают это более красивым и изящным решением, для англоязычных сайтов это также имеет значение в плане раскрутки сайта. | |
|
|
|
|
|
|
|
для: cheops
(25.04.2011 в 13:34)
| | только разве что для раскрутки...и красоты...
а на скорость это влияей? Если делать отдельную таблицу сопоставления ключей и латиницу категорий | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:46)
| | Смотря как сделать, если хорошо спроектировать скорость практически не измениться (но если измениться, то всегда в сторону замедления, за все фичи приходится чем-то расплачиваться). | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:05)
| | Думаю, что здесь возможно несколько вариантов. Но я бы сделал так: в БД у каждой категории есть первичный ключ (id), наименование категории (на кириллице) и альтернативное имя (на латинице для url). При запросе категории «bitovaya_tehnika» ищем в БД такую категорию. | |
|
|
|
|
|
|
|
для: G-Style
(25.04.2011 в 13:14)
| | это полнотекстовый поиск? | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:33)
| | Да здесь можно и без полнотекстового поиска обойтись - тексты короткие, их выгоднее проиндексировать обычным индексом. | |
|
|
|
|
|
|
|
для: cheops
(25.04.2011 в 13:36)
| | то есть через LIKE? | |
|
|
|
|
|
|
|
для: xpom
(25.04.2011 в 13:48)
| | LIKE тут вообще ни к чему! Он только еще больше замедлит поиск. Можно создать файл-кеш в котором будут храниться все категории, чтобы не обращаться за ними постоянно в БД, оттуда же и будем извлекать id на основе alt_name (то, что было латиницей) и искать по БД. Либо сделать как писал выше Сheops. | |
|
|
|