2009-12-12 2 views
0

Я кодирую свой первый форум и хочу иметь поле поиска.как искать текст в потоках?

Мне интересно, какую функцию я должен использовать для поиска конкретных потоков в базе данных.

я должен использовать

ГДЕ заглавной LIKE '% ключевое слово%' ИЛИ тело LIKE '% ключевое слово%'

является то, что общий алгоритм поиска содержимого резьбы?

ответ

2

С несколько полей, которые нужно искать, это довольно стандартный.

Вы можете посмотреть на

Full-Text Search Functions

и

Using MySQL Full-text Searching

+0

он сказал, что полнотекстовый поиск работает только для таблиц myisam. ive получил их в innodb ... некоторые комментарии по этому поводу? – ajsie

+0

thx для последней статьи ... Я только что прочитал начало, но, похоже, очень полезно – ajsie

1

является то, что общий алгоритм поиска содержимого резьбы?

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

Но некоторые соображения для вас:

  • Поиск по обе заголовка и тела (легче найти, но будет slooow со многими нитями).
  • Если тело может контактировать форматированный текст (возможно, HTML), он также будет включен в поиск.
  • Использование SQL Like - это первый шаг для SQL Injection. Осторожно избегайте ввода.
  • Поиск с использованием LIKE - очень медленные операции во всех SQL-базах данных. Пользователю лучше использовать полнотекстовый поиск или индексировать данные с помощью 4-го инструмента.
Смежные вопросы