Я хочу сделать поиск статей на своем веб-сайте - нормально ли использовать просто выражение "LIKE" или есть лучший алгоритм поиска для использования с MySQL? (важно, чтобы он был эффективным)
Каков наилучший алгоритм поиска для PHP и MYSQL?
Ответ 1
Вы должны изучить Полнотекстовый поиск.
Это также может помочь вам прочитать о компромиссах MySQL LIKE vs Full-Text
Ответ 2
Хорошо ли использовать простое утверждение "LIKE" или есть более алгоритм поиска для использования с MySQL? (важно, чтобы он был эффективным)
Как
Если важно быть эффективным, я думаю, LIKE абсолютно не подходит.
Полнотекстовый поиск: 392 сек. Полный текстовый поиск (кешированный): 272 сек.
Полный текст Логический режим 12 сек Полный текст Логический (кэшированный) 11 сек.
Mnogosearch (внешний) 3.5 Sec Mnogosearch (внешний кешированный) 1.06 Sec
Сфинкс 0.23 сек. Сфинкс, кешированный 0.15 сек.
LIKE%...% 30sec Sec LIKE%...% (Кэшировано) 29 сек.
Sphinx
Вероятно Sphinx - самый эффективный метод, который также поддерживает MySQL. Честно говоря, я никогда не использовал Sphinx, но некоторые очень большие сайты используют его.
Скорее сложнее настроить другую (возможно, последнюю) альтернативу.
Полнотекстовый поиск MySQL
Я также думаю, что полнотекстовый поиск MySQL будет, вероятно, достаточно быстрым и простым в использовании.
Ответ 3
Я бы подумал об использовании Apache Solr https://lucene.apache.org/solr/ или эластичный поиск http://www.elasticsearch.org/