поиск php / sql - PullRequest
       23

поиск php / sql

0 голосов
/ 16 января 2010

Я хочу найти статьи при поиске по следующему ключевому слову:

"Расходы на техобслуживание maruti sx4 против города Хонда"

Я хочу запрос или регулярное выражение php, которое может найти статью с текстом ниже

«Расходы на техобслуживание SX4 меньше из-за Марути. Хонда-сити тоже в порядке».

т.е. я хочу функцию / код, который может найти статью, сопоставляя "стоимость обслуживания" (что является обычным текстом)

Пожалуйста, подскажите, как это сделать

Спасибо Сатиш Калепу

1 Ответ

2 голосов
/ 16 января 2010

Простое решение

Не очень эффективное решение состоит в том, чтобы сопоставить каждый ваш поисковый запрос один за другим с вашим полным набором статей. Для каждого нового запроса вы должны повторить этот процесс. Используйте explode , чтобы разбить строку запроса на массив отдельных поисковых терминов, stripos тоже проверьте, встречается ли термин в тексте статьи.

Система поиска документов

Если вы хотите создать полноценную систему поиска документов с нуля, вам, вероятно, следует начать с создания инвертированного индекса , сопоставляющего поисковые термины с документами (статьями).

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

Эта простая идея может стать более продвинутой, если принять во внимание слово, основанное и частота документа / термина (т.е. слово «the» менее интересен как поисковый запрос, чем «honda», поскольку почти все документы содержат «the», но немногие содержат «honda»).

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