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