자주 사용하는 검색 엔진은 무엇입니까
< /p>
검색 엔진 (search engines) 은 인터넷에서 정보 자원을 수집하여 정리한 후 조회할 수 있는 시스템으로, 정보 수집, 정보 정리 및 사용자 조회 세 부분이 포함되어 있습니다. < /p>
검색 엔진은 정보 "검색" 서비스를 제공하는 웹 사이트로, 일부 프로그램을 사용하여 인터넷상의 모든 정보를 분류하여 망망망해에서 필요한 정보를 찾을 수 있도록 도와줍니다. < /p>
이전 검색 엔진은 인터넷에서 자원 서버의 주소를 수집하여 제공하는 자원의 유형에 따라 다른 디렉토리로 나누어 한 층씩 분류했습니다. < /p>
사람들은 자신이 원하는 정보를 찾아 분류별로 층층이 들어갈 수 있으며, 결국 목적지에 도착하여 원하는 정보를 찾을 수 있다. < /p>
이것은 실제로 가장 원시적인 방법이며 인터넷 정보가 많지 않은 경우에만 적용됩니다. < /p>
인터넷 정보가 기하학적으로 증가함에 따라 웹 사이트의 각 페이지의 시작을 알고 있는 진정한 검색 엔진이 등장했습니다. 그런 다음 인터넷상의 모든 하이퍼링크를 검색하여 하이퍼링크를 나타내는 모든 단어를 하나의 데이터베이스에 넣습니다. < /p>
이것이 현재 검색 엔진의 원형입니다. < /p>
야후와 함께! 의 출현으로 검색 엔진의 발전도 황금시대로 접어들어 예전보다 성능이 더 우수하다. (윌리엄 셰익스피어, 검색어, 검색어, 검색어, 검색어, 검색어, 검색어, 검색어) < /p>
현재 검색 엔진은 단순한 검색 웹 페이지의 정보일 뿐만 아니라 더욱 종합화되고 완벽해졌습니다. < /p>
검색 엔진 권위 Yahoo! 예를 들어, 1995 년 3 월부터 미국계 중국계 양치원 등이 야후 (Yahoo) 를 설립했습니다! 처음에는 단일 검색 엔진에서 현재 전자 상거래, 뉴스 정보 서비스, 개인 무료 이메일 서비스 등 다양한 웹 서비스로 발전해 검색 엔진의 발전이 단일에서 종합에 이르는 과정을 충분히 설명하고 있습니다. < /p>
그러나 검색 엔진의 작동 방식과 인터넷의 급속한 발전으로 검색 결과가 갈수록 불만족스러워지고 있다. < /p>
예를 들어 "컴퓨터" 라는 단어를 검색하면 수백만 페이지의 결과가 나올 수 있습니다. < /p>
이는 검색 엔진이 사이트의 키워드 위치, 웹 사이트의 이름, 레이블 등의 공식에 따라 결정되는 웹 사이트에 대한 관련성을 통해 검색 결과를 최적화하기 때문입니다. < /p>
이것이 검색 엔진 검색 결과가 많고 뒤섞인 이유입니다. < /p>
검색 엔진의 데이터베이스는 인터넷의 발전 변화로 인해 반드시 죽은 링크를 포함해야 한다. < /p>
이 문장 에서는 하이퍼텍스트에 널리 사용되는 대규모 검색 엔진 (of a large-scale search engine) 의 원형인 구글을 소개했습니다.
< P > 구글은 효율적으로 웹 페이지를 캡처하고 인덱스를 작성할 수 있도록 설계되어 있으며, 기존의 다른 시스템보다 우수한 질의 결과를 제공합니다. < /p>이 프로토타입의 전문과 하이퍼링크된 데이터베이스에는 최소 24' 000' 000 개의 웹 페이지가 포함되어 있다. < /p>
우리는: //google.stanford.edu/ 에서 다운로드할 수 있습니다. < /p>
검색 엔진 설계는 어려운 작업입니다. < /p>
검색 엔진은 매우 다른 많은 단어를 포함하는 수억 개의 웹 페이지를 색인화합니다. < /p>
그리고 매일 수천 개의 질의에 답해야 한다. < /p>
인터넷에서 대규모 검색 엔진이 중요하지만 학계에서는 이를 거의 연구하지 않습니다. < /p>
또한 기술의 급속한 발전과 웹 페이지의 급증으로 검색 엔진을 구축하는 것은 3 년 전과 완전히 다릅니다. < /p>
이 문서에서는 우리의 대형 검색 엔진에 대해 자세히 설명합니다. 우리가 아는 한, 공개적으로 발표된 논문에서 이것은 첫 번째 서술이 이렇게 상세합니다.
< /p>
이렇게 많은 수의 웹 페이지에서 발생하는 문제에 기존 데이터 검색 기술을 적용하는 것 외에도 하이퍼텍스트의 추가 정보를 적용하여 검색 결과를 개선하는 등 여러 가지 새로운 기술적 과제가 있습니다. < /p>
이 문서에서는 하이퍼텍스트의 추가 정보를 사용하여 대규모 유틸리티 시스템을 구축하는 방법에 대해 설명합니다. < /p>
누구나 인터넷에 자유롭게 정보를 게시할 수 있으며, 이러한 조직화되지 않은 하이퍼텍스트 * * * 를 효과적으로 처리하는 방법도 이 문서에서 주목해야 할 문제입니다. < /p>
키워드 월드 와이드 웹, 검색 엔진, 정보 검색, PageRank, 구글 1 소개 웹은 정보 검색에 새로운 도전을 안겨줍니다.
웹에 있는 정보의 양은 빠르게 증가하고 있으며, 경험이 없는 신규 사용자가 웹 예술을 체험하고 있다. < /p>
사람들은 하이퍼링크로 웹 서핑을 즐기는데, 보통 야후와 같은 중요한 웹 페이지나 검색 엔진으로 시작한다. < /p>
목록 (목록) 은 관심 있는 주제를 효과적으로 포함하고 있다고 생각하지만 주관성, 건립 및 유지 관리 비용이 높고 업그레이드가 느려 심오한 주제를 모두 포함할 수는 없다. < /p>
키워드 기반 자동 검색 엔진은 일반적으로 너무 많은 저품질 일치를 반환합니다. < /p>
문제를 더욱 악화시키는 것은 일부 광고가 사람들의 관심을 끌기 위해 자동 검색 엔진을 오도할 방법을 강구하고 있다는 점이다. < /p>
기존 시스템의 많은 문제를 해결하기 위해 대규모 검색 엔진을 구축했습니다. < /p>
하이퍼텍스트 구조를 적용하여 쿼리 품질을 크게 향상시킵니다. < /p>
우리 시스템의 이름은 구글의 통속적인 철자법, 즉 10 의 100 승 () 으로, 우리의 목표에 따라 대형 검색 엔진을 구축하는 것과 일치한다. < /p>
1.1 네트워크 검색 엔진-업그레이드 (scaling up): 1994-2000 검색 엔진 기술은 빠르게 업그레이드 (scale dramatically) 하여 두 배로 증가하는 웹 수를 따라잡아야 했습니다. < /p>
1994 년 첫 번째 웹 검색 엔진, World Wide Web Worm(WWWW) 은 110,000 개의 웹 페이지와 웹 파일을 검색할 수 있었습니다. < /p>
1994 년 11 월까지 최고의 검색 엔진은 2' 000' 000 (web crawler) 에서 100' 000' 000 개 (Search Engine Watch) 까지의 네트워크 파일을 검색할 수 있다고 주장했다 < /p>
2000 년을 예상할 수 있으며 검색 가능한 웹 페이지는 1' 000' 000' 000 을 넘을 것으로 예상됩니다. < /p>
동시에 검색 엔진 방문도 놀라운 속도로 증가할 것입니다. < /p>
1997 년 3 ~ 4 월 월드와이드 웹 worm 은 하루 평균 1,500 건의 쿼리를 받았습니다. < /p>
1997 년 11 월 Altavista 는 하루에 약 20'000'000 개의 쿼리를 처리해야 한다고 주장했다. < /p>
네트워크 사용자가 늘어남에 따라 2000 년까지 자동 검색 엔진은 하루에 수억 개의 쿼리를 처리할 예정입니다. < /p>
우리 시스템의 설계 목표는 품질과 업그레이드 가능성, 업그레이드 검색 엔진 기술 도입, 이렇게 많은 양의 데이터로 업그레이드 등 많은 문제를 해결하는 것입니다.
1.2 구글: 웹의 속도에 맞춰 오늘날의 웹 규모에 맞는 검색 엔진을 구축하는 데는 많은 어려움이 따른다. < /p>
웹 캡처 기술은 웹 페이지 변경 속도를 따라잡을 수 있을 만큼 빨라야 합니다. < /p>
인덱스와 문서를 저장할 공간이 충분해야 합니다.
< /p>
인덱싱 시스템은 수천억 개의 데이터를 효율적으로 처리할 수 있어야 합니다. < /p>
쿼리 처리는 초당 수백 개의 쿼리를 처리할 수 있을 만큼 빨라야 합니다 (hundreds to thousands per second.). < /p>
웹이 성장함에 따라 이러한 작업은 점점 더 어려워지고 있습니다. < /p>
그러나 하드웨어의 실행 효율성과 비용도 빠르게 증가하고 있어 이러한 어려움을 부분적으로 상쇄할 수 있습니다. < /p>
디스크 탐색 시간 (disk seek time), 운영 체제 효율성 (operating system robustness) 등 몇 가지 주목할 만한 요소가 있습니다. < /p>
구글을 설계하는 과정에서 웹 성장률과 기술 업데이트를 모두 고려했습니다. < /p>
Google 은 대규모 데이터 세트를 처리하기 위한 업그레이드 기능을 제공하도록 설계되었습니다. < /p>
스토리지 공간을 효율적으로 활용하여 인덱스를 저장할 수 있습니다. < /p>
최적화된 데이터 구조를 빠르고 효율적으로 액세스할 수 있습니다 (섹션 4.2 참조). < /p>
또한 캡처한 텍스트 파일 및 HTML 웹 페이지 수에 비해 저장 및 인덱스화 비용이 최소화되기를 바랍니다 (부록 B 참조). < /p>
구글과 같은 중앙 집중식 시스템의 경우 이러한 조치를 취하면 만족스러운 시스템 업그레이드 가능성을 얻을 수 있습니다. < /p>
1. 3 설계 목표 1.3.1 검색 품질 향상 우리의 주요 목표는 웹 검색 엔진의 품질을 향상시키는 것입니다. < /p>
1994 년, 어떤 사람들은 전체 검색 색인 (a plete search index) 을 설정하면 모든 데이터를 쉽게 찾을 수 있다고 생각합니다. < /p>
Best of the Web 1994 -- Navigators 에 따르면 "최고의 탐색 서비스를 통해 웹에서 모든 정보를 쉽게 검색할 수 있다 (당시 모든 데이터를 로그인할 수 있었다)" 고 합니다. < /p>
그러나 1997 년 웹은 매우 달랐다. < /p>
최근 검색 엔진 사용자가 인덱스의 무결성이 검색 품질을 평가하는 유일한 기준이 아니라는 사실을 확인했습니다. < /p>
사용자가 관심 있는 검색 결과는 종종' 스팸결과 Junk result' 에 묻힌다. < /p>
실제로 1997 년 11 월까지 4 대 비즈니스 검색 엔진 중 하나만 자신을 찾을 수 있었습니다 (자신의 이름을 검색할 때 반환된 상위 10 개 결과 중 자신). < /p>
이 문제의 주요 원인은 문서의 인덱스 수가 여러 단계 증가했지만 사용자가 볼 수 있는 문서 수는 증가하지 않았기 때문입니다. < /p>
사용자는 여전히 처음 수십 개의 검색 결과만 보고 싶어합니다. < /p>
따라서 * * * 가 증가하면 결과를 정확하게 만들 수 있는 도구가 필요합니다 (반환된 처음 수십 개 결과 중 문서 수). < /p>
수천 개의 관련 문서 중 수십 개를 선택했기 때문에 관련 개념은 최고의 문서를 의미합니다. < /p>
매우 정확하고 매우 중요하며 응답 (시스템이 반환할 수 있는 관련 문서의 총 수) 을 대가로 합니다. < /p>
기쁘게도 하이퍼텍스트 링크를 통해 제공되는 정보는 검색 및 기타 애플리케이션을 개선하는 데 도움이 됩니다. < /p>
특히 링크 구조와 링크 텍스트는 관련성 판단과 고품질 필터링을 위한 많은 정보를 제공합니다.
구글은 링크 구조와 anchor 텍스트를 모두 활용합니다 (섹션 2.1 및 2.2 참조). < /p>
1.3.2 검색 엔진의 학술 연구는 시간이 지날수록 빠르게 발전하는 것 외에 웹이 점점 상업화되고 있다. < /p>
1993 년, 1.5 의 웹 서비스만 도메인 이름에서 나왔다. < /p>
는 1997 년까지 60 을 넘어섰다.
< /p>
한편 검색 엔진은 학술 분야에서 상업으로 진출했다. < /p>
지금까지 대부분의 검색 엔진은 회사가 소유하고 있으며 기술 세부 사항을 공개하는 기술은 거의 없습니다. < /p>
이로 인해 검색 엔진 기술은 대부분 여전히 비밀리에 운영되며 광고를 하는 경향이 있습니다 (부록 a 참조).
구글의 주요 목표는 이와 관련하여 학술 분야의 발전과 이해를 촉진하는 것입니다. < /p>
또 다른 설계 목표는 모두에게 실용적인 시스템을 제공하는 것이다. < /p>
애플리케이션은 현대 네트워크 시스템에 많은 유용한 데이터가 있기 때문에 매우 중요합니다 (us because we think some of the most interesting research will involve leveraging the vast AMT < /p>
예를 들어 매일 수천만 건의 연구가 있습니다. < /p>
그러나 이러한 데이터를 얻는 것은 매우 어렵습니다. 주로 비즈니스 가치가 없기 때문입니다. < /p>
우리의 마지막 설계 목표는 방대한 양의 웹 데이터에 대한 새로운 연구를 지원하는 아키텍처를 구축하는 것입니다. < /p>
새로운 연구를 지원하기 위해 구글은 실제로 잡은 문서를 압축된 형식으로 저장했다. < /p>
구글을 설계하는 목표 중 하나는 다른 연구자들이 이 분야에 빠르게 진입하여 대량의 웹 데이터를 처리하고 만족스러운 결과를 얻을 수 있는 환경을 구축하는 것이지만, 다른 방법으로는 결과를 얻기가 어렵다는 것이다. < /p>
시스템은 단시간에 구축되었고, 이미 구글이 만든 데이터베이스를 사용한 논문이 몇 편 있는데, 더 많은 것은 시작에 있다. < /p>
우리의 또 다른 목표는 연구자와 학생들이 우리의 방대한 웹 데이터를 설계하거나 실험을 할 수 있는 우주 실험실 같은 환경을 구축하는 것입니다. < /p>
2. 시스템 기능 구글 검색 엔진에는 고정밀 검색 결과를 얻는 데 도움이 되는 두 가지 중요한 기능이 있습니다. < /p>
첫째, 웹 링크 구조를 적용하여 각 웹 페이지의 Rank 값 (PageRank) 을 계산하면 98 페이지에 자세히 설명되어 있습니다. < /p>
둘째, 구글은 하이퍼링크를 이용하여 검색 결과를 개선합니다. < /p>
2.1 PageRank: 웹 페이지를 정렬하는 웹 참조 (링크) 맵은 중요한 리소스이지만 오늘날의 검색 엔진에서 크게 간과되고 있습니다. < /p>
중요한 샘플인 518' 000' 000 개의 하이퍼링크가 포함된 그림을 만들었습니다. < /p>
이 그림들은 웹페이지의 PageRank 값을 빠르게 계산할 수 있다. 이는 객관적인 기준이며, 사람들이 생각하는 웹페이지의 중요도에 더 잘 부합하며, 인용을 통해 중요성을 판단하는 데 기반을 두고 있다. < /p>
따라서 웹에서 PageRank 는 키워드 쿼리 결과를 최적화할 수 있습니다. < /p>
대부분의 주제에 대해 페이지 제목 쿼리에서 PageRank 를 사용하여 간단한 텍스트 일치를 최적화함으로써 놀라운 결과를 얻었습니다 (google.stanford.edu 에서 데모 제공). < /p>
PageRank 는 Google 마스터 시스템의 전체 텍스트 검색에 많은 도움을 주었습니다. < /p>
2.1.1 PageRank 문헌 검색에서 참조 이론을 계산하여 웹에서 웹 페이지를 참조하는 링크 수는 해당 웹 페이지의 중요성과 품질을 어느 정도 반영합니다. < /p>
PageRank 는 이런 생각을 발전시켰고, 웹 페이지 간의 링크는 불평등하다. < /p>
PageRank 는 다음과 같이 정의됩니다. t1 ... TN 이 웹 페이지 a (예: 참조) 를 가리킨다고 가정합니다.
< /p>
매개변수 d 는 결과가 0,1 사이인 제동 계수입니다. < /p>
보통 d 는 0.85 입니다. < /p>
d 는 다음 섹션에서 자세히 설명합니다. < /p>
C(A) 는 웹 a 가 다른 웹 페이지로 연결되는 링크 수로 정의되며, 웹 a 의 PageRank 값은 pr (a) = (1-d)+d (pr (t1)/; < /p>
PageRank 또는 PR(A) 은 간단한 반복 알고리즘을 사용하여 웹 링크 행렬의 기본 고유 벡터를 정규화할 수 있습니다. < /p>
중간 규모 웹 사이트에서 26' 000' 000 웹 페이지의 PageRank 값을 계산하는 데 몇 시간이 걸립니다. < /p>
이 문서의 범위를 벗어나는 기술적 세부 사항도 있습니다. < /p>
2.1.2 PageRank 가 사용자 행동의 모델로 간주된다는 직관적인 판단. < /p>
우리는 웹 서핑이 무작위적이고, 링크를 계속 클릭하며, 결코 돌아오지 않고, 결국 짜증이 나고, 또 다른 웹 페이지를 무작위로 선택하여 다시 서핑을 시작한다고 가정한다. < /p>
웹 페이지를 무작위로 방문할 가능성은 PageRank 값입니다. < /p>
제동 계수 D 는 한 페이지를 무작위로 방문하는 것이 귀찮을 가능성이며, 다른 페이지를 무작위로 선택할 수 있습니다. < /p>
단일 웹 페이지 또는 웹 페이지 그룹의 경우 중요한 변수가 제동 계수 D 에 추가됩니다. < /p>
이를 통해 개인은 의도적으로 시스템을 오도하여 더 높은 PageRank 값을 얻을 수 있습니다. < /p>
다른 PageRank 알고리즘이 있습니다. 98 페이지를 참조하십시오. < /p>
또 다른 직관적인 판단은 한 페이지에 많은 페이지가 그것을 가리키거나, PageRank 값이 높은 일부 페이지가 그것을 가리키는 경우 이 페이지가 중요하다는 것이다. < /p>
직관적으로 웹에서 한 페이지가 많은 웹 페이지에 의해 참조되는 경우 이 페이지는 볼 만하다. < /p>
Yahoo 와 같은 중요한 홈페이지에 의해 한 번 참조되어도 볼 만하다. < /p>
웹 페이지의 품질이 높지 않거나 죽은 링크인 경우 Yahoo 와 같은 홈페이지는 링크되지 않습니다. < /p>
PageRank 는 이러한 두 가지 요소를 모두 처리하고 웹 링크를 통해 재귀적으로 전달합니다.
amp; Nbsp;; 2.2 링크 설명 텍스트 (Anchor Text) 우리의 검색 엔진은 링크 텍스트를 특별하게 처리했습니다. < /p>
대부분의 검색 엔진은 링크 텍스트를 연결된 웹 페이지 (the page that the link is on) 와 연결합니다. < /p>
또한 링크가 가리키는 웹 페이지와 연결합니다. < /p>
몇 가지 장점이 있습니다. < /p>
첫째, 링크 설명 문자는 일반적으로 웹 페이지 자체보다 웹 페이지를 더 정확하게 설명합니다. < /p>
둘째, 링크 설명 문자가 체인화될 수 있는 문서는 텍스트 검색 엔진 (예: 이미지, 프로그램 및 데이터베이스) 에서 검색할 수 없습니다. < /p>
반환된 웹 페이지가 잡히지 않을 수 있습니다. < /p>
잡히지 않은 웹 페이지가 어떤 문제를 일으킬 수 있는지 주의해라. < /p>
사용자에게 반환될 때까지 유효성을 테스트할 수 없습니다. < /p>
이 경우 검색 엔진은 전혀 존재하지 않는 웹 페이지를 반환할 수 있지만 하이퍼링크가 있습니다. < /p>
그러나 이런 결과는 골라낼 수 있어 이런 문제는 거의 발생하지 않는다. < /p>
링크 설명 텍스트는 월드 와이드 웹 (World Wide Web Worm) 에서 사용되는 웹 페이지에 대한 홍보입니다. 주로 텍스트가 아닌 정보를 검색하는 데 도움이 되며 다운로드한 문서의 소량으로 검색 범위를 넓힐 수 있기 때문입니다. < /p>
링크 설명 문자를 광범위하게 적용했습니다. 링크 설명 텍스트는 검색 결과의 품질을 향상시키는 데 도움이 되기 때문입니다.
< /p>
링크 설명 문자 기술을 효과적으로 활용하는 데는 많은 양의 데이터를 처리해야 하기 때문에 어려움이 있습니다. < /p>
이제 24' 000' 000 개의 웹 페이지를 잡을 수 있으며 259' 000' 000 개 이상의 링크 설명 문자를 검색했습니다. < /p>
2.3 기타 기능 PageRank 및 애플리케이션 링크 설명 텍스트 외에 구글에는 몇 가지 다른 기능이 있습니다. < /p>
첫째, 모든 hit 에는 위치 정보가 있으므로 검색에 근접성을 광범위하게 적용할 수 있습니다. < /p>
둘째, 구글은 글꼴 크기와 같은 시각적 세부 사항을 추적합니다. < /p>
굵은 글씨는 다른 문자보다 더 중요하다. < /p>
셋째, 기술 자료에는 원본 전체 텍스트 웹 페이지가 저장됩니다. < /p>
3 작업 웹 검색 연구에 대한 역사는 간단합니다.
월드 와이드 웹 worm () 은 가장 오래된 검색 엔진 중 하나입니다. < /p>
이후 학술 연구를 위한 검색 엔진이 등장했으며, 이들 중 대부분은 현재 상장 기업이 소유하고 있습니다. < /p>
웹의 성장과 검색 엔진의 중요성에 비해 오늘날의 검색 엔진 기술에 관한 우수한 논문은 상당히 적다. < /p>
Lycos Inc. 의 수석 과학자인 Michael mauldin 에 따르면 "lycos 를 포함한 다양한 서비스는 이러한 데이터베이스의 세부 사항에 대해 매우 우려하고 있습니다. < /p>
"검색 엔진의 일부 특징에서 많은 작업을 수행했지만. < /p>
대표적인 작업은 기존 비즈니스 검색 엔진의 결과를 전달하거나 작은 맞춤형 검색 엔진을 구축하는 것입니다. < /p>
마지막으로 정보 검색 시스템, 특히 조직기관 *** (well controlled collections) 에 대한 연구가 많다. < /p>
다음 두 섹션에서는 웹에서 더 잘 작업할 수 있도록 정보 검색 시스템의 어떤 영역을 개선해야 하는지 살펴보겠습니다. < /p>
3.1 정보 검색 정보 검색 시스템이 탄생한 지 몇 년 전, 급속히 발전했다. < /p>
그러나 대부분의 정보 검색 시스템 연구 대상은 과학 논문집이나 관련 주제에 대한 뉴스 스토리와 같은 소규모의 단일 조직 구조 * * * 입니다. < /p>
실제로 정보 검색의 주요 기준인 the Text Retrieval Conference () 는 소규모의 조직적인 * * * 를 기준으로 사용합니다. < /p>
대형문집 기준은 20GB 에 불과했고, 이와는 대조적으로 24000000 개의 홈페이지가 147GB 를 차지했다. < /p>
TREC 에서 잘 작동하는 시스템은 웹에서 반드시 좋은 결과를 산출하는 것은 아닙니다. < /p>
예를 들어 표준 벡터 공간 모델은 쿼리 요청과 가장 유사한 문서를 반환하려고 하며 쿼리 요청과 문서를 모두 나타나는 용어로 구성된 벡터로 간주합니다. < /p>
웹 환경에서 이러한 정책은 종종 질의어에 몇 단어를 더 추가하는 매우 짧은 문서를 반환합니다. < /p>
예를 들어 "Bill Clinton" 을 질의하면 기본 검색 엔진 중 하나에서 볼 수 있는 "Bill Clinton Sucks" 만 포함된 웹 페이지가 반환됩니다. < /p>
인터넷에는 논란이 있어 사용자가 원하는 것을 더 정확하게 표현하고 쿼리 요청에 더 많은 단어를 사용해야 합니다. < /p>
우리는이 견해에 강력히 반대합니다. < /p>
사용자가 "Bill Clinton" 과 같은 쿼리 요청을 하면 이 주제에 많은 고품질 정보가 있으므로 이상적인 쿼리 결과를 얻을 수 있습니다. < /p>
와 같이 웹 데이터를 효과적으로 처리하기 위해 정보 검색 기준을 개발해야 한다고 생각합니다.
< /p>
3.2 조직적인 *** (Well Controlled Collections) 와 웹의 차이점 웹은 완전히 조직되지 않은 이기종 대용량 문서의 * * * 입니다.
웹의 문서에는 내재적 정보나 함축적 정보 모두 많은 이기종 성이 있습니다. < /p>
예를 들어 문서 내부에는 서로 다른 언어 (인간 언어와 프로그램 모두), 용어 ([email] 주소, 링크, 우편 번호, 전화 번호, 제품 번호), 유형 (텍스트, HTML < /p>
문서에서 추론할 수 있지만 문서에 포함되지 않은 정보를 암시적 정보라고 합니다. < /p>
암시적 정보에는 출처의 신용도, 업데이트 빈도, 품질, 방문량 및 참조가 포함됩니다. < /p>
묵시적인 정보의 가능한 출처는 다양하며 감지된 정보도 크게 다르며, 차이는 여러 수준에 달할 수 있습니다. < /p>
예를 들어, 야후 (Yahoo) 가 하루에 수백만 번 방문하는 것과 같은 중요한 홈페이지의 사용량은 무명 문장 기록에 비해 10 년에 한 번 방문될 수 있습니다. < /p>
분명히 검색 엔진은 이 두 가지 유형의 정보를 다르게 처리합니다.
웹과 조직 구조 * * * 의 또 다른 분명한 차이점은 실제로 웹에 정보를 업로드하는 데는 제한이 없다는 것입니다. < /p>
이 점을 유연하게 활용하면 검색 엔진에 큰 영향을 미치는 모든 정보를 게시하고, 라우팅을 차단하고, 검색 엔진을 의도적으로 조작하여 심각한 문제가 되었습니다. < /p>
이러한 문제는 기존의 폐쇄적인 정보 검색 시스템에 의해 제기되지 않았습니다. < /p>
메타 데이터 노력에 관심이 있습니다. 웹 페이지의 어떤 텍스트도 사용자에게 검색 엔진을 조작하려는 시도를 주장하지 않기 때문에 웹 검색 엔진에는 적용되지 않습니다. < /p>
심지어 일부 회사들은 이윤을 얻기 위해 검색 엔진을 전문적으로 조작한다. < /p>
4 시스템 분석 (System Anatomy) 우선 아키텍처에 대한 높은 수준의 논의를 제공합니다. < /p>
그런 다음 중요한 데이터 구조를 자세히 설명합니다. < /p>
마지막으로, 주요 애플리케이션: 웹 페이지, 색인, 검색은 엄격하게 검사됩니다.
figure 1.high level Google architecture 4.1 Google 아키텍처 개요 이 섹션에서는 그림 1 과 같이 전체 시스템이 어떻게 작동하는지 살펴보겠습니다 (give a high level). < /p>
이 섹션에서는 애플리케이션 및 데이터 구조에 대해 설명하지 않으며 다음 섹션에서 설명합니다. < /p>
효율성을 위해 대부분의 구글은 c 또는 c++ 를 사용하여 Solaris 와 Linux 모두에서 실행할 수 있습니다.
구글 시스템에서 웹 페이지 캡처 (다운로드 페이지) 는 여러 분산 crawlers 에 의해 수행됩니다. < /p>
URL 서버가 crawlers 에 URL 목록을 제공할 책임이 있습니다. < /p>
잡은 웹 페이지를 스토리지 서버 storeserver 에 넘겼다. < /p>
그런 다음 스토리지 서버에서 웹 페이지를 압축하여 기술 자료 저장소에 저장합니다. < /p>
각 웹 페이지에는 docID 라는 ID 가 있으며, 새 URL 이 웹 페이지에서 분석될 때 docID 가 할당됩니다. < /p>
인덱서와 시퀀서는 색인 색인 색인 색인 작성을 담당합니다. < /p>
인덱서는 기술 자료에서 문서를 읽고 압축을 풀고 분석합니다. < /p>
각 문서가 적중 히트 (hits) 라는 단어 세트로 변환되는 경우입니다. < /p>
Hits 는 문서 내 단어의 위치, 가장 가까운 크기, 대/소문자를 기록합니다.
< /p>
인덱서는 이러한 hits 를 버킷 barrel 그룹에 할당하여 부분적으로 정렬된 인덱스를 생성합니다. < /p>
인덱서의 또 다른 중요한 기능은 웹 페이지의 모든 링크를 분석하여 anchors 파일에 대한 중요한 정보를 설명하는 링크입니다. < /p>
이 파일에는 각 링크가 노드에 연결된 정보와 링크 텍스트를 확인하는 데 사용할 수 있는 충분한 정보가 포함되어 있습니다. < /p>
URL 분해기 resolver 링크 설명 anchors 파일을 읽고 상대 URL 을 절대 URL 로 변환한 다음 docID 로 변환합니다. < /p>
링크 설명 텍스트를 인덱스화하고 가리키는 docID 와 연관시킵니다. < /p>
docID 쌍으로 구성된 링크 데이터베이스도 설정합니다. < /p>
모든 문서에 대한 PageRank 값을 계산하는 데 사용됩니다. < /p>
docID 로 분류된 barrels 를 시퀀서 sorter 에 주고 wordID 별로 분류하여 역방향 인덱스 inverted index 를 만듭니다. < /p>
이 작업은 스크래치 공간이 거의 필요하지 않도록 적절해야 합니다. < /p>
시퀀서는 docID 및 오프셋 목록도 제공하여 역방향 인덱스를 작성합니다. < /p>
DumpLexicon 이라는 프로그램은 이 목록을 인덱서에서 생성된 사전과 결합하여 검색기에서 사용할 새 사전을 만듭니다. < /p>
이 검색은 웹 서버를 이용하여 DumpLexicon 에서 생성된 사전을 사용하여 위의 역방향 인덱스와 페이지 등급 PageRank 를 이용하여 사용자의 질문에 답하는 것이다. < /p>
4.2 주요 데이터 구조 최적화된 Google 데이터 구조를 통해 적은 비용으로 대량의 문서를 수집하고 인덱싱 및 쿼리를 수행할 수 있습니다. < /p>
최근 몇 년 동안 CPU 및 입출력 속도가 급속히 증가했지만. < /p>
디스크 검색에는 여전히 10ms 가 필요합니다. < /p>
언제든지 Google 시스템은 디스크 검색을 최소화하도록 설계되었습니다. < /p>
이는 데이터 구조 설계에 큰 영향을 미칩니다. < /p>
4.2.1 대용량 파일 BigFiles 는 길이가 64 비트인 정수 데이터 주소 지정으로 가상 파일에서 생성된 다중 파일 시스템입니다. < /p>
다중 파일 시스템 간 공간 할당은 자동으로 수행됩니다. < /p>
BigFiles 패키지는 할당 및 할당되지 않은 파일 설명자도 처리합니다. < /p>
BigFiles 는 운영 시스템이 우리의 요구를 충족하지 못하기 때문에 기본 압축 옵션도 지원합니다. < /p>
4.2.2 기술 자료 figure 2.repository data structure 기술 자료에는 각 웹 페이지에 대한 모든 HTML 이 포함되어 있습니다. < /p>
각 웹 페이지는 zlib (RFC1950 참조) 로 압축됩니다. < /p>
압축 기술 선택은 속도와 압축률을 모두 고려합니다. < /p>
압축률이 높은 bzip 대신 zlib 속도를 선택했습니다. < /p>
knowledgebase 는 bzip 의 압축률로 4: 1 에 가깝습니다. < /p>
와 zlib 를 사용한 압축률은 3: 1 입니다. < /p>
문서는 그림 2 에 나와 있는 것처럼 접두어 docID, 길이, URL 로 기술 자료에 하나씩 저장됩니다. < /p>
기술 자료에 액세스하는 데 추가 데이터 구조가 필요하지 않습니다. < /p>
데이터 일관성 및 업그레이드에 도움이 됩니다. < /p>
다른 데이터 구조로 시스템을 재구성하려면 기술 자료 및 crawler 오류 목록 파일만 수정하면 됩니다. < /p>
4.2.3 파일 인덱스 파일 인덱스에는 문서에 대한 몇 가지 정보가 저장됩니다. < /p>
색인은 docID 순서로 ISAM(Index sequential access mode) 을 넓힙니다.
< /p>
각 레코드에는 현재 파일 상태, 기술 자료에 대한 포인터, 파일 체크섬, 다양한 통계 테이블이 포함됩니다. < /p>
문서가 이미 잡힌 경우 URL 과 제목을 포함하여 너비가 변하는 docinfo 파일을 가리킵니다. < /p>
그렇지 않으면 포인터가 이 URL 이 포함된 URL 목록을 가리킵니다. < /p>
이 설계는 간결한 데이터 구조와 질의에 단 하나의 디스크 탐색 시간만 있으면 하나의 레코드를 액세스할 수 있다는 점을 고려합니다. < /p>
URL 을 docID 로 변환하는 파일도 있습니다. < /p>
URL 체크섬 및 해당 docID 목록입니다. 체크섬별로 정렬됩니다. < /p>
URL 의 docID 를 알려면 URL 의 체크섬을 계산한 다음 체크섬 파일에서 이진 조회를 수행하여 해당 docID 를 찾아야 합니다. < /p>
이 파일을 병합하면 URL 배치를 해당 docID 로 변환할 수 있습니다. < /p>
URL 분석기는 이 기술을 사용하여 URL 을 docID 로 변환합니다. < /p>
이 일괄 업데이트 모델은 매우 중요합니다. 그렇지 않으면 링크당 한 번의 쿼리가 필요합니다. 디스크 하나를 사용하면 322' 000' 000 개의 링크된 데이터 * * * 가 한 달 이상 걸립니다. < /p>
4.2.4 사전은 여러 가지 형식으로 제공됩니다. < /p>
이전 시스템과 달리 사전의 메모리 요구 사항은 합리적인 가격 내에 있을 수 있습니다. < /p>
현재 구현 중인 시스템은 256M 메모리 시스템이 사전을 메모리에 로드할 수 있습니다. < /p>
현재 사전에는 14000000 단어가 포함되어 있습니다 (거의 사용되지 않는 일부 단어는 사전에 추가되지 않았지만). < /p>
용어집 (null 로 구분된 연속 문자열) 과 포인터의 해시 테이블의 두 부분으로 나뉩니다. < /p>
용어집에는 이 문서의 범위를 벗어나는 보조 정보가 있습니다. < /p>
4.2.5 hit list hit list 는 위치, 크기, 대/소문자를 포함하여 문서에 나타나는 단어 목록입니다. < /p>
Hit list 는 많은 공간을 차지하며 정방향 및 역방향 색인에 사용됩니다. < /p>
따라서 표현이 유효할수록 좋습니다. < /p>
위치, 크기, 대/소문자-단순 인코딩 (정수 3 개), 컴팩트 인코딩 (비트 할당 최적화 지원), 하프만 인코딩을 인코딩하는 몇 가지 시나리오를 고려했습니다. < /p>
Hit 에 대한 자세한 내용은 그림 3 을 참조하십시오. < /p>
우리의 컴팩트한 인코딩은 hit 당 2 바이트입니다. < /p>
hit 에는 특수 hit 와 일반 hit 의 두 가지 유형이 있습니다. < /p>
특수 hit 에는 URL, 제목, 링크 설명 문자, 메타 태그가 포함되어 있습니다. < /p>
일반 hit 에는 다른 모든 것이 포함되어 있습니다. < /p>
여기에는 문서의 단어 위치를 설명하는 대/소문자 피쳐 비트, 크기, 12 비트 (4095 를 초과하는 모든 위치는 4096 으로 표시됨) 가 포함됩니다. < /p>
크기는 문서의 다른 부분에 상대적인 상대 크기로 3 비트를 차지합니다 (111 플래그는 특수 hit 이므로 실제로 7 개 값만 사용). < /p>
특수 hit 는 대/소문자 피쳐 비트로, 크기 비트 7 은 특수 hit, 4 비트는 특수 hit 유형, 8 비트는 위치를 나타냅니다. < /p>
anchor hit 8 비트 위치의 경우 4 비트는 anchor 에서의 위치를 나타내고 4 비트는 anchor 가 나타나는 해시 테이블 hash of the docID 를 나타냅니다. < /p>
구 쿼리는 제한되어 있으며 일부 단어에 대해 anchor 가 충분하지 않습니다. < /p>
주소 비트 및 docIDhash 도메인 비트 부족 문제를 해결하기 위해 anchor hit 저장 방식을 업데이트하겠습니다. < /p >