Какова наилучшая стратегия URL для обработки нескольких параметров поиска и операторов? - PullRequest
1 голос
/ 20 апреля 2010

Поиск с несколькими параметрами

В моем приложении я хотел бы разрешить пользователю выполнять сложный поиск по нескольким параметрам, используя простой синтаксис, аналогичный функциональности GMail, когда пользователь может искать "in: inbox is: unread" и т. д.

Однако GMail делает POST с этой информацией, и я хотел бы, чтобы форма была GET, чтобы информация была в URL страницы результатов поиска.

Поэтому мне нужно, чтобы параметры были отформатированы в URL.

Требования:

  • Сохраняйте URL как можно более чистым
  • Избегайте использования недопустимых символов URL, таких как квадратные скобки
  • Разрешить множество функций поиска
  • Иметь возможность добавлять больше функций позже.

Я знаю, что StackOverflow позволяет пользователю выполнять поиск по нескольким тегам следующим образом:

Однако я также хотел бы разрешить пользователям выполнять поиск с несколькими дополнительными параметрами.

Исходный дизайн

В настоящее время мой дизайн должен использовать URL-адреса, такие как:

Я собираюсь проанализировать URL-адрес после параметра search, а затем решить, как составить мой поисковый запрос.

Кто-нибудь видел такие параметры URL, как хорошо реализованные на веб-сайте?

Если да, то что лучше?

1 Ответ

1 голос
/ 20 апреля 2010

То, что у вас есть, неплохое начало.

Следует помнить, что в IE существует ограничение длины URL-адресов ~ 2000 символов. Помните об этом в битве между SEO и читабельностью против краткости.

Я не знаю никаких стандартов в этой области, кроме здравого смысла, который, как вам кажется, вы захватили.

Еще одна вещь, которую нужно иметь в виду, состоит в том, что большинство поисковых систем используют стандартные параметры URL, например, http://www.google.com/search?hl=en&source=hp&q=donkeys+for+sale&aq=f&aqi=g10&aql=&oq=&gs_rfai= Для этого есть веские причины, а именно кодирование URL и использование нетрадиционных символов в строке поиска.

Так что, хотя красивые URL-адреса хороши, они терпят неудачу здесь по разным причинам

...