Какой лучший алгоритм поиска для 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/

Другие вопросы по тегам