Я хочу сделать поиск статей на своем веб-сайте – нормально ли использовать простой оператор «LIKE» или есть лучший алгоритм поиска для использования с MySQL? (важно, чтобы это было эффективно)
Вы должны изучить полнотекстовый поиск .
Это также может помочь вам прочитать о компромиссах MySQL LIKE vs Full-Text
нормально ли использовать просто выражение «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 – самый эффективный метод, который также поддерживает MySQL. Честно говоря, я никогда не использовал Sphinx самостоятельно, но некоторые очень большие сайты используют его.
Вероятно, сложнее установить другую (возможно, последнюю) альтернативу.
Я также думаю, что полнотекстовый поиск MySQL , вероятно, будет достаточно быстрым и простым в использовании.
Я бы подумал об использовании Apache Solr https://lucene.apache.org/solr/ или Elastic Search http://www.elasticsearch.org/