Оптимизация поисковых запросов - PullRequest
1 голос
/ 09 июля 2010

Раньше я никогда не слишком увлекался очисткой / переформатированием поисковых запросов, по крайней мере, не более чем общими мерами безопасности, такими как предотвращение внедрения SQL.

Я понимаю, что должен реализовывать ключевые слова, такие как AND, OR, NOT и т. Д., И выполнять такие действия, как очистка знаков препинания, таких как апострофы, дефисы и т. Д. Как в случае, когда пользователь вводит слово «Smiths» в поле поиска запрос не будет возвращать слово Смита (с апострофом).

Что еще я могу сделать, чтобы улучшить поисковые запросы моего пользователя (без ущерба для них)?

Я пришел из установки PHP MySQL-FTS; однако я уверен, что это может быть расширено на несколько платформ.

EDIT

Позвольте мне уточнить, что меня не очень интересует SQL-запрос к базе данных, меня интересует оптимизация - это запрос, который пользователь предоставляет в поле поиска.

Ответы [ 2 ]

1 голос
/ 10 июля 2010
  • NEAR ключевое слово
  • двойные кавычки для "точных фраз"
  • удаление коротких / общих слов ("a", "an", "the" и т. Д.)
  • stemming (удалить общие префиксы и суффиксы)

Я бы предложил прочитать ответы на этот похожий вопрос: Оптимизация простого алгоритма поиска а также эту статью о некоторых функциях Google.

0 голосов
/ 09 июля 2010
  1. Создайте индекс для столбцов предложения where в ваших поисковых запросах.
  2. Чтобы включить наивную коррекцию заклинаний, вы можете также хранить soundex столбца, для которого вы хотите предложить проверку орфографии.
  3. Включите ведение журнала для медленных запросов, которые помогут вам отследить проблемы с производительностью.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...