Создание поискового объекта - PullRequest
0 голосов
/ 10 марта 2012

Я хочу сделать поиск на моем сайте. Я использую php .. Какие критерии должны быть приняты для поиска. Например: если кто-то ищет

How to make soap

Я могу использовать много подходов для поиска, например, поиск записей в базе данных, имеющих точно такую ​​же строку поиска или поиск записей в базе данных в порядке поиска ключевых слов (т. е. запись со строкой поиска «How» + «Soap» будет иметь меньшее предпочтение, чем запись со строкой поиска «how soap make») ...

Так какой же алгоритм обычно используется для поиска?

И что подразумевается под полнотекстовым поиском?

1 Ответ

1 голос
/ 10 марта 2012

Это большая тема для простого ответа, но я думаю, что вы имеете в виду, как выполнять сложные полнотекстовые поиски в MySQL.Другими словами, это действительно вопрос MySQL, а не вопрос PHP.

По сути, вам необходимо: 1. Создать полнотекстовый индекс для текстового поля в вашей базе данных.2. Запустите запросы к этому полю базы данных, используя полнотекстовый синтаксис MySQL.

Основной синтаксис для запроса полнотекстовой индексированной таблицы в MySQL:

SELECT * FROM table
     WHERE MATCH (fulltextfield)
     AGAINST ('my search phrase');

Это намного больше, чем это,но документация по MySQL - это то, что вам нужно: http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

Если вы хотите сделать действительно расширенный полнотекстовый поиск, хорошая рекомендация - Sphinx , но это, вероятно, намного сложнее, чем нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...