본문으로 건너뛰기
버전: v2

크로스 사이트 검색

내 사이트의 검색창에서 다른 측정 데이터베이스의 기기까지 함께 검색합니다. 결과를 누르면 해당 사이트로 바로 이동하며, 기기가 로드된 상태로 열립니다.

개요

방문자가 내 사이트에 없는 기기를 검색하면, 그 기기를 보유한 다른 데이터베이스를 알려줍니다. 내 검색 결과 아래에 다른 공개 측정 데이터베이스의 결과가 사이트와 리그(rig) 종류별로 묶여 표시됩니다.

이 기능은 호스팅 환경과 무관하게 동작합니다. squig.link가 아니어도 됩니다. 미리 만들어진 단일 인덱스 문서를 읽기 때문에, 등록된 데이터베이스가 몇 개든 요청은 한 번뿐입니다.

인덱스는 GraphAggregator에서 제공합니다. 알려진 측정 데이터베이스를 수집해 기기 목록을 하나의 JSON 파일로 발행하는 커뮤니티 프로젝트입니다. modernGraphTool에 공식 URL이 내장되어 있어 따로 설정할 것은 없습니다.

설정

config.js에서 설정합니다.

CROSS_SITE_SEARCH: {
ENABLED: true,
INDEX_URLS: [],
SQUIGLINK_FALLBACK: true,
}

설정 옵션

  • ENABLED — 크로스 사이트 검색 켜기/끄기. 기본값은 켜짐.
  • INDEX_URLS — 시도할 인덱스 문서 목록(순서대로). 비워 두면 공식 GraphAggregator 인덱스를 사용하며, GitHub Pages 미러가 자동 백업으로 동작합니다.
  • SQUIGLINK_FALLBACK — 인덱스를 하나도 받아오지 못했고 동시에 사이트가 squig.link에서 호스팅될 때, 각 squig.link 사이트의 phone_book.json을 직접 수집하는 방식으로 대체합니다. 기존 방식이라 동작은 하지만, 데이터베이스 수만큼 요청이 발생해 느립니다.

인덱스 직접 호스팅하기

외부 도메인에 의존하고 싶지 않다면, 인덱스 문서를 직접 발행하고 INDEX_URLS를 그쪽으로 지정하세요.

CROSS_SITE_SEARCH: {
ENABLED: true,
INDEX_URLS: [
'https://example.com/my-index.json',
'https://backup.example.com/my-index.json'
],
}

URL은 순서대로 시도하며 유효한 문서를 먼저 반환한 쪽이 채택됩니다. 따라서 미러를 백업으로 함께 적어 둘 수 있습니다. 문서는 GraphAggregator 스키마를 따라야 합니다. 명세와 생성 도구는 GraphAggregator 저장소를 참고하세요.

참고

  • 방문자가 현재 보고 있는 사이트의 데이터베이스는 결과에서 제외됩니다.
  • 검색 결과는 한 번에 최대 100개까지 표시됩니다. 더 많이 일치하면 검색어를 좁히라는 안내가 나타납니다.
  • 인덱스는 방문자가 두 글자 이상 입력한 시점에 처음 한 번만 지연 로드됩니다. 검색하지 않는 방문자에게는 아무 비용도 발생하지 않습니다.