Возможно, вы упускаете возможность использования переменных jq:
.company as $company
| .sites[]
| .name as $site
| .personnel[]
| { name, id: .UID, company: $company, site: $site }
Однако можно также избегать использования переменных, осторожно используя скобки. Если вы не возражаете против того, чтобы ключи находились в несколько ином порядке, вы можете написать:
(.sites[] | ( (.personnel[] | { name, id: .UID} ) + {site: .name} )) + {company}
Если ключи должны быть в порядке, показанном в Q, вы можете просто добавить следующий фильтр к над трубопроводом:
{name, id, company, site}
Поскольку можно потенциально закончить с дубликатами, если Вы не осторожны. Я предполагаю, что переполнение стека добавило идентификатор, потому что был высокий потенциал для дубликатов, учитывая объем созданных сообщений.
Другие системы могут выбрать not to use the ID in the URL - for example, ведущая блог система, вероятно, не должна была бы.
Это - лучшая идея, если у Вас есть пользователь сгенерированное содержание, которое приводит к новому URL, созданному для включения идентификатора сообщения. Если единственный способ, которым может быть создан новый URL, через доступ типа администратора, можно, вероятно, обойтись без него, пока Вы проверяете на дубликаты.
Поисковая оптимизация была бы один, а также создание URL, более читаемого людям. Поисковые системы обычно как Ваш URL, Заголовок и H2 для содержания "темы" страницы.
Если Вы имеете, и там затем можно вручную ввести / идентификатор и автоволшебно браться к "цветочному" URL с перезаписью.. сохраняет Ваши пальцы немного :)
Причина включения идентификатора в URL состоит в том, что это помогает негласно получить корректную статью от базы данных, поскольку поиск может быть выполнен на идентификаторе, а не заголовке статьи.
Причина включения полного заголовка статьи, то, что Google дает "кучу" бонусных очков для критериев поиска, которые подобраны в имени файла.
Добавление краткого заголовка во всех ссылках на содержание помогает с поисковыми системами, потому что поисковые системы будут обычно использовать слова в самом URL, чтобы помочь индексировать содержание.
URL является частью интерфейса Интернет-пользователя.
Существует eyetracking исследование использования поисковой системы, которое нашло, что люди тратят 24% своего времени пристального взгляда, смотря на URL в результатах поиска.
Искатели особенно интересуются URL, когда они оценивают доверие и полноценность места назначения. Если URL будет похож на мусор, то люди, менее вероятно, нажмут на тот поисковый хит. С другой стороны, если URL будет похож на страницу, то рассмотрит вопрос пользователя, они, более вероятно, нажмут.
@Greg Hewgill
Добавление краткого заголовка во всех ссылках на содержание помогает с поисковыми системами, потому что поисковые системы будут обычно использовать слова в самом URL, чтобы помочь индексировать содержание.
Я должен был разъясниться немного: Я имел в виду URL, которые имеют обоих идентификатор и краткий заголовок в них. Я просто не вижу точку в наличии чего-то как /post/1/la-la-la-la-text-hahahaha
по сравнению с /post/1/
или /post/la-la-la-la-text-hahahaha
, так как первый работал бы без постороннего текста в конце.
Это могло быть, это быстрее для получения сообщения в блоге идентификатором, чем кратким заголовком, таким образом, помещает идентификатор для SQL-запроса и краткий заголовок для поисковых систем (SEO).
https://stackoverflow.com/users/58163/movaxes65675
Мне нравится/post/la-la-la-la-text-hahahaha тип, я могу помнить URL, знать то, что заголовок сообщения (перед на самом деле загрузить сайт). Не любите много/post/1/, это ничего не значит для меня кроме сообщения № 1 (плохо для маркетинга?)
править: идентификатор также помогает избежать дубликатов, поскольку andybaird указал
Ну, во-первых нужно указать, что "URL стиля Web 2.0" являются на самом деле частью чего-то названного REST. Те URL иногда называют УСПОКОИТЕЛЬНЫМИ URL. Требуемые преимущества:
- Обеспечивает улучшенное время отклика, и уменьшенный сервер загружаются из-за его поддержки кэширования представлений;
- Улучшает масштабируемость сервера путем сокращения потребности поддержать состояние сеанса. Это означает, что различные серверы могут использоваться для обрабатывания различных запросов на сессии;
- Требует, чтобы меньше клиентского программного обеспечения было записано, чем другие подходы, потому что единственный браузер может получить доступ к любому приложению и любому ресурсу;
- Зависит меньше от программного обеспечения поставщика и механизмов который слой дополнительные платформы обмена сообщениями сверху HTTP;
- Обеспечивает эквивалентную функциональность по сравнению с альтернативными подходами к коммуникации;
- Не требует отдельного механизма обнаружения ресурса, из-за использования гиперссылок в представлениях;
- Предоставляет лучшие долгосрочные характеристики совместимости и способности к развитию, чем RPC. Это происходит из-за:
- Возможность типов документов, таких как HTML для развития, не повреждаясь назад - или прямая совместимость; и
- Способность ресурсов добавить поддержку новых типов контента, поскольку они определяются, не отбрасывая или уменьшая поддержку более старых типов контента.