Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск в таблице (объеденить значение в колонках и выполнить поиск)
 
 автор: sanekdi   (15.01.2010 в 14:21)   письмо автору
 
 

Помогите пожалуста решить задачу с помощью Mysql

есть таблица вней столбцы id, category, subcategory, name, и другие...

Необходимо чтобы значения в столбцах category, subcategory, name сформировались в один столбец и в нем по тексту производился поиск( например оператором LIKE).

Может есть такая функция объедения?

  Ответить  
 
 автор: heed   (15.01.2010 в 16:46)   письмо автору
 
   для: sanekdi   (15.01.2010 в 14:21)
 

FULLTEXT обычно для поиска пошустрее

можно создать запросом типа
CREATE FULLTEXT INDEX `имя` ON `таблица` (`category`, `subcategory`, `name`);
, и искать по индексу

, но что-то названия столбцов настораживают , обычно имена категорий с субкатегориямй и имён
не хранятся в таком виде.

А по всяким INT fulltext'а не бывает

  Ответить  
 
 автор: sanekdi   (15.01.2010 в 18:03)   письмо автору
 
   для: heed   (15.01.2010 в 16:46)
 

Мне необходимо сделать поиск по катологу
есть 4 таблицы tovar, marka, catalog, subcatalog

поля таблицы tovar
id
name
price
code
id_marka
id_catalog
id_subcatalog

поля таблицы marka
id
name

поля таблицы catalog
id
name

поля таблицы subcatalog
id
name

id первичный ключи во всех таблицах

поиск происходит по полям name по всем таблицам по полю name

name содержит не более 255 символов.

Как лучше организовать поиск по каталогу, товаров около 10 000, через операторы rlike сильно нагружает базу

  Ответить  
 
 автор: heed   (15.01.2010 в 18:50)   письмо автору
 
   для: sanekdi   (15.01.2010 в 18:03)
 

Вообще-то наверное как-то нелогично найденное в таблице категорий
приравнивать к найденному в таблице товаров.

По логике нужно сначалв пройтись по таблице категорий и отдельно предложить просмотреть найденные категории
, а отдельно выдать список товаров.
Поставить в известность вобщем чего именно нашло, а не вываливать все товары из совпавшей категории.

Что до fulltexta, возможно он и не подходит для такого поиска по одним наименованиям
, у него мания сравнивать слова только начиная с их начала ,
если написать "скребок" то он найдёт этот "скребок" но не найдёт "поскребок" :)
, хотя я просто слова делал (IN BOOLEAN MODE)
// или "сочетания слов"
И не более ft_(maxwordlength)? (4 по уолчанию) букв индексирует
, только к одной таблице можно создать такой индекс, если я правильно понял мануал

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования