2015-06-20 4 views
1

Я создаю модуль формулировки ключевых слов, где я хочу искать данные, используя слова, разделенные запятой. И поиск классифицируется как запятая , и минус -. Посмотрите на пример того, что я именно хочу сделатьИндивидуальный поиск со специальными символами

У меня есть название основной таблицы tbl_main в SQL

AS_ID KWD 
1 Man,Businessman,Business,Office,confidence,arms crossed 
2 Man,Businessman,Business,Office,laptop,corridor,waiting 
3 man,business,mobile phone,mobile,phone 
4 Welcome,Greeting,beautiful,bride,celebration,wedding,woman,happiness 
5 beautiful,bride,wedding,woman,happiness,mobile phone,talking 
6 woman,girl,Digital Tablet,working,sitting,online 
7 woman,girl,Digital Tablet,working,smiling,happiness,hand on chin 

Если поиск текста = Мужчина, бизнесмен, то результат AS_ID является = 1 , 2

Если поиск текст = Человек, -Businessman, то результат AS_ID есть = 3

Если поиск текст = женщина, девушка, -Работа то результат AS_ID есть = 4,5

Что лучше, почему делать это, помощь очень было оценено заранее

ответ

1

Ну просто упомянуть. Это не хорошая структура данных. Вы должны разделить все категории на отдельные строки, которые улучшат вашу базу данных в скорости и даже в размере.

Вот пример того, как я это сделаю.

Таблица AS:

AS_ID (PK) 
... your additional field... 

Таблица Категории:

Таблица AS_Cats

AS_ID (PK) (FK -> Table AS) 
CAT_ID (PK) (FK -> Table Categories) 

Таблица AS_Cats содержит комбинированный первичный ключ, чтобы избежать дублирования категорий для одной AS.

Если вам по-прежнему нужна эта структура данных, вы можете взглянуть на код для разделения строк на строки. Таким образом вы можете JOIN и фильтровать для AS_ID, который содержит все ключи. См. Пример here.

+0

Я уже знаю о структуре данных, но это старые данные, которые я не могу заменить :(миллионы строк добавлены в таблицу уже. @lonic – Gitz

+0

Ну, это может быть заменено. Просто из-за процесса рефакторинга.) Но я также даю вам ответ на то, что вам нужно застрять на этом решении. См. Ссылку выше. – Ionic

Смежные вопросы