KR101183312B1 - 페이지 카테고리 정보를 이용하여 검색 엔진 결과를분배하는 방법 - Google Patents

페이지 카테고리 정보를 이용하여 검색 엔진 결과를분배하는 방법 Download PDF

Info

Publication number
KR101183312B1
KR101183312B1 KR1020050057763A KR20050057763A KR101183312B1 KR 101183312 B1 KR101183312 B1 KR 101183312B1 KR 1020050057763 A KR1020050057763 A KR 1020050057763A KR 20050057763 A KR20050057763 A KR 20050057763A KR 101183312 B1 KR101183312 B1 KR 101183312B1
Authority
KR
South Korea
Prior art keywords
document
electronic documents
data
categories
index
Prior art date
Application number
KR1020050057763A
Other languages
English (en)
Other versions
KR20060048765A (ko
Inventor
바마 라마라스남
대렌 에이. 샤키브
그레고리 엔. 헐렌더
니콜 에이 해밀톤
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060048765A publication Critical patent/KR20060048765A/ko
Application granted granted Critical
Publication of KR101183312B1 publication Critical patent/KR101183312B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 카테고리에 의해 검색 엔진 결과를 분배하기 위한 시스템 및 방법을 제공한다. 검색 엔진 어플리케이션은 검색 요청에 응답하여 복수의 전자 문서에 관련된 문서 데이터의 검색가능한 색인을 쿼리함으로써, 검색 요청에 포함된 데이터에 매칭(matching)하는 문서 데이터를 갖는 하나 이상의 전자 문서들을 식별한다. 검색 엔진 어플리케이션은 식별된 전자 문서를 분배하여, 문서 데이터에 포함된 카테고리 데이터에 따라 사용자에게 디스플레이한다.
후위 서버, 전위 서버, 클라이언트 컴퓨터 시스템, 서버 노드, 검색 엔진 어플리케이션

Description

페이지 카테고리 정보를 이용하여 검색 엔진 결과를 분배하는 방법{DISPERSING SEARCH ENGINE RESULTS BY USING PAGE CATEGORY INFORMATION}
도 1은 본 발명이 사용될 수 있는 예시적인 네트워크 환경을 예시하는 블럭도.
도 2는 본 발명의 일 실시예에 따라 색인을 파퓰레이트(populate)하는 데 사용되는 시스템의 컴포넌트들을 예시하는 블럭도.
도 3은 본 발명의 일 실시예에 따라 검색 결과의 첫번째 페이지 상에 디스플레이하기 위해 카테고리에 따라 검색 결과를 분배하는 시스템의 컴포넌트들을 예시하는 블럭도.
도 4는 검색 결과 페이지의 예시적인 스크린 샷(screen shot)을 예시하는 도면.
도 5는 본 발명의 일 실시예에 따라 검색 결과의 첫번째 페이지 상에서 사용자에게 디스플레이하기 위해 카테고리에 따라 검색 결과를 분배하는 방법을 예시하는 예시적인 순서도.
도 6은 본 발명의 일 실시예가 구현될 수 있는 적절한 컴퓨팅 시스템 환경의 예시적인 실시예를 예시하는 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
102: 클라이언트 컴퓨터 시스템
116: 색인
110: 서버 노드
104: 통신 네트워크
210: 웹서버
본 발명은 데이터 통신 네트워크 상에서 전자 문서의 형태인 관련 데이터를 검색하는 분야에 관한 것이다. 특히, 본 발명의 실시예는 검색동안 찾은 전자 문서들의 카테고리(category)에 따라 검색 결과를 분배하는 것에 관한 것이다.
인터넷은 다수의 컴퓨터들에 걸쳐 분산된 다량의 정보를 갖기 때문에, 사용자들에게 다양한 주제에 대한 다량의 정보를 제공한다. 이는 인트라넷(intranet) 및 엑스트라넷(extranet)과 같은 수많은 다른 통신 네트워크들에 대해서도 마찬가지다. 네트워크 상에서 다량의 정보가 사용가능할 수 있지만, 원하는 정보를 쉽고 빠르게 찾지 못할 수 있다.
검색 엔진은 네트워크 상에서 원하는 정보를 찾는 것에 대한 문제점을 처리하도록 개발되어왔다. 종래 검색 엔진은 네트워크 상의 전자 문서를 방문하고, 그것을 "판독"하고, 그 후 웹사이트 내의 다른 전자 문서로의 링크를 따라가는 크롤러[crawler, 스파이더(spider) 또는 보트(bot)라고도 불림]를 포함한다. 크롤러는 정기적으로 웹사이트에 리턴하여, 수정된 것을 찾는다. 검색 엔진의 또다른 부분인 색인은 크롤러가 찾은 전자 문서들에 관한 정보를 저장한다. 하나 이상의 사용자 지정 검색 용어들에 응답하여, 검색 엔진은 사용자 지정 검색 용어들에 관련된 전자 문서들을 포함한다고 결정한 네트워크 위치(예를 들어, URL)들의 리스트를 리턴한다. 몇몇 검색 엔진들은 사용자들이 선택할 수 있도록, 정보의 카테고리(예를 들어, 뉴스, 웹, 이미지 등) 및 그 카테고리들 내의 카테고리들을 제공하여, 사용자는 이러한 카테고리들 중 관심있는 영역에 주의를 기울일 수 있다.
검색 엔진 소프트웨어는 일반적으로 지각된 관련성에 따라 제출된 검색 요청을 만족하는 전자 문서들을 랭킹하고(rank), 그들의 랭크에 따라 사용자에게 검색 결과를 디스플레이하기 위한 수단을 제공한다. 전형적인 관련성 랭킹은 주어진 네트워크 위치에의 전자 문서가 다른 전자 문서들과 비교해 사용자 지정 검색 용어에 관련되어있을 가능성에 대한 상대적인 평가이다. 예를 들어, 종래 검색 엔진은 특정 검색 용어가 전자 문서 내에 나타난 횟수 및 전자 문서 내에서 그것의 배치(예를 들어, 제목에 나타난 용어는 종종 전자 문서의 끝에 나타난 용어보다 높은 중요도를 요구함)에 기초한 관련성 랭킹을 제공할 수 있다. 링크 분석, 앵커 텍스트 분석(anchor-text analysis), 웹 페이지 구조 분석, 키 용어 리스팅의 사용 및 URL 텍스트가 웹 페이지 및 다른 하이퍼링크된 문서들을 랭킹하기 위한 다른 알려진 기술들이다.
현재 사용가능한 검색 엔진들은 일반적으로 지각된 랭크에 따라 검색 결과들을 디스플레이하는 것에 한정된다. 불행히도, 가장 높은 랭킹 결과들은 모두가 정 보의 단일 카테고리에 속할 수 있기 때문에, 이것은 사용자에게 불충분한 정보를 제공할 수 있다. 예를 들어, 많은 제품들의 이름들은 하나 이상의 의미를 갖는다(자동차는 행성 이름을 따서 이름을 짓고, 개인용 컴퓨터는 과일이름을 따서 이름을 짓는 등). 사용자에게의 첫번째 페이지 검색 결과의 가치는 사용자가, 예를 들어, 행성 Saturn에 관한 정보에 관심이 있는지, 아니면 동일한 이름의 자동차에 대한 정보에 관심이 있는지에 영향을 받을 수 있다. 그 결과, 첫번째 페이지 상에 디스플레이된 결과들 중 지나치게 많은 수가 단일 주제 또는 카테고리에 관한 것이기 때문에, 종종 사용자들이 쿼리를 상세하게 하거나 검색 결과의 몇몇 페이지를 판독할 필요가 있다.
그러므로, 종래 랭킹과 별개로 다양한 주제 또는 카테고리들에 관한 검색 결과들을 단일의 검색 결과 페이지 상에 디스플레이하는 검색 엔진이 필요하다. 이러한 분배된 검색 결과들을 디스플레이함으로써, 사용자는 결과의 첫번째 페이지 상에서 다양한 결과들을 관찰할 수 있다.
본 발명의 실시예들은 데이터 통신 네트워크 상의 관련 데이터에 대한 개선된 검색을 (다른 것들과 함께) 제공함으로써, 종래 기술의 하나 이상의 결점을 극복한다. 본 발명은 검색 요청에 응답하여 검색 결과의 첫번째 페이지 상에서 사용자에게 다양한 검색 결과를 디스플레이함으로써, 사용자가 네트워크 상에서 관련 문서들을 보다 쉽게 찾을 수 있게 한다. 특히, 본 발명의 일 실시예는 카테고리로 검색 결과를 분배하여, 사용자가 검색 결과의 첫번째 페이지 상에서 상이한 카테고 리들에 대한 검색 결과를 쉽게 관찰할 수 있다. 카테고리로 검색 결과를 분배함으로써, 사용자는 검색 결과의 다음 페이지로 스크롤링하거나 이동하지 않고서, 다양한 카테고리 내의 결과를 관찰할 수 있다. 게다가, 카테고리에 의해 검색 결과들을 검색 결과의 첫번째 페이지 상에 분배함으로써, 사용자는 보다 용이하게 관련 결과를 식별할 수 있으므로, 보다 재미있고 생산적인 검색 경험을 할 것이다. 이외에, 여기에 설명된 본 발명의 특징은 현재 사용가능한 기술들 보다 구현하기 덜 수고롭고 쉬울 뿐만 아니라 경제적으로 적합하고 상업적으로 실용적이란 것이다.
본 발명의 일 양상에 따르면, 검색 결과를 생성하는 방법이 제공된다. 이 방법은 사용자로부터 검색 요청을 수신하는 단계를 포함한다. 이 방법은 또한 수신된 검색 요청의 함수로서 검색가능한 색인을 쿼리하는 단계를 포함하여, 검색 요청에 관련이 있을 수 있는 전자 문서들을 식별한다. 색인은 복수의 전자 문서들에 관련된 문서 데이터를 포함한다. 문서 데이터는 전자 문서들 각각에 관련된 하나 이상의 카테고리들을 지정한다. 이 방법은 식별된 전자 문서들에 관련된 하나 이상의 카테고리들의 함수로서 상기 쿼리의 결과들을 소팅(sort)하는 단계를 포함한다. 이 발명은 사용자에게 소팅된 결과들을 디스플레이하는 단계를 더 포함하여, 상이한 카테고리 내의 하나 이상의 식별된 전자 문서가 단일 페이지 상에서 사용자에게 디스플레이된다.
본 발명의 또다른 양상에 따르면, 컴퓨터 판독가능 매체는 검색 결과를 생성하기 위한 컴퓨터 실행가능 명령어들을 포함한다. 검색 형태 컴포넌트는 사용자로부터 검색 요청을 수신한다. 검색 엔진 컴포넌트는 수신된 검색 요청의 함수로서 검색가능한 색인을 쿼리하여, 검색 요청에 관련있을 수 있는 전자 문서들을 식별하고, 상기 쿼리의 결과드을 소팅한다. 색인은 복수의 전자 문서들에 관련된 문서 데이터를 포함한다. 문서 데이터는 전자 문서들 각각에 관련된 하나 이상의 카테고리들을 지정한다. 결과는 식별된 전자 문서들에 관련된 하나 이상의 카테고리의 함수로서 소팅된다. 사용자 인터페이스 컴포넌트가 사용자에게 소팅된 결과들을 디스플레이함으로써, 상이한 카테고리들 내의 하나 이상의 식별된 전자 문서가 단일 페이지 상에서 사용자에게 디스플레이된다.
본 발명의 또다른 양상에 따르면, 클라이언트 컴퓨터를 통해 사용자로부터 수신된 검색 요청에 응답하여 검색 결과들을 생성하기 위한 시스템이 제공된다. 이 시스템은 클라이언트를 통해 사용자로부터 검색 요청을 수신하기 위한 제1 서버를 포함한다. 제1 서버는 통신 네트워크를 통해 클라이언트와 연결된다. 시스템은 복수의 전자 문서들에 관련된 문서 데이터를 포함하는 색인도 포함한다. 문서 데이터는 각각의 전자 문서에 관련된 하나 이상의 카테고리들을 지정한다. 수신된 검색 요청으로 색인을 쿼리하도록, 상기 제1 서버를 구성하여, 검색 요청에 관련될 수 있는 전자 문서들을 식별하고 상기 쿼리의 결과를 소팅한다. 클라이언트에서 사용자에게 디스플레이하기 위해, 식별된 전자 문서에 관련된 하나 이상의 카테고리들로 결과를 소팅하여, 상이한 카테고리 내의 하나 이상의 식별된 전자 문서가 단일 페이지 상에서 사용자에게 디스플레이된다.
본 발명의 또다른 양상에 따르면, 검색가능한 데이터 구조가 저장되어 있는 하나 이상의 컴퓨터 판독가능 매체가 제공된다. 제1 필드는 네트워크 상에 위치한 전자 문서에 관련된 검색 엔진 색인 용어를 나타내는 데이터를 저장하기 위한 것이다. 색인 용어는 전자 문서에 포함된다. 제2 필드는 전자 문서에 관련된 카테코리를 나타내는 데이터를 저장하기 위한 것이다. 제3 필드는 네트워크 상에서의 전자 문서의 위치를 나타내는 데이터를 저장하기 위한 것이다. 제2 필드에 포함된 문서 데이터가 제1 필드에 따라 색인됨으로써, 하나 이상의 카테고리들이 색인 용어에 관련되게 되고, 제3 필드에 포함된 문서 데이터가 제2 필드에 따라 색인됨으로써, 전자 문서들의 하나 이상의 위치들이 각각의 하나 이상의 카테고리들에 관련되게 된다.
도면들에서 대응하는 참조 특징들은 대응하는 부분들을 나타낸다.
도면들을 참조하면, 도 1은 본 발명이 이용될 수 있는 예시적인 네트워크 환경(100)을 예시한다. 클라이언트(102)는 인터넷(또는 월드 와이드 웹)과 같은 데이터 통신 네트워크(104)에 연결된다. 하나 이상의 서버들은 HTTP(Hypertext Transfer Protocol)와 같은 프로토콜(프로토콜은 일반적으로 인터넷 상에서 정보를 교환하는 데 사용됨)을 사용해 네트워크(104)를 통해 클라이언트와 통신한다. 예시된 실시예에서, 전위 서버(front-end server)(106)와 후위 서버(back-end server)(108)(예를 들어, 웹 서버 또는 네트워크 서버)가 네트워크(104)에 연결된다. 클라이언트(102)는 네트워크(104), 전위 서버(106) 및 후위 서버(108)를 사용하여, 예를 들어, 하나 이상의 서버 노드(110)들 상에 저장된 웹 페이지 데이터에 액세스한다. 이 방식으로, 클라이언트는 네트워크(104)를 통해, 하나 이상의 서버 노드(110)들이 유지하고 있는 웹 페이지 데이터(112)에의 액세스를 요청할 수 있다.
본 발명의 실시예는 사용자 지정 검색 요청에 응답하여, 다양한 검색 결과가검색 결과의 단일 페이지 상에서 사용자(114)에게 디스플레이되도록 함으로써, 데이터 통신 네트워크 상의 관련 데이터에 대한 개선된 검색을 제공한다. 특히, 본 발명의 일 실시예는 카테고리에 의해 검색 결과를 분배하여, 사용자(114)는 검색 결과의 첫번째 페이지 상에서 상이한 카테고리에 대한 검색 결과를 쉽게 관찰할 수 있다. 카테고리에 의해 검색 결과를 분배함으로써, 사용자(114)는 검색 결과의 다음 페이지로 스크롤링하거나 이동하지 않고서도 다양한 카테고리 내의 결과를 관찰할 수 있다. 게다가, 검색 결과의 단일 페이지(예를 들어, 첫번째 페이지) 상에 카테고리에 의해 검색 결과를 분배함으로써, 사용자는 관련 결과들을 보다 용이하게 식별할 수 있어서, 보다 재미있고 생산적인 검색 경험을 할 수 있다.
이 실시예에서, 사용자(114)는 관심있는 특정한 주제를 설명하고/하거나 그에 관련된 전자 문서들(예를 들어, 웹 페이지들)을 식별하길 원하고, 따라서 클라이언트(102)를 사용하여 그 관심있어하는 특정한 주제에 관한 하나 이상의 용어들을 포함하는 검색 요청을 입력한다. 예를 들어, 전위 서버(106)는 클라이언트(102)에게 응답하여, 사용자(114)를 인증하고, 인증된 사용자로부터의 요청을 후위 서버(108)로 리다이렉팅(redirecting)한다.
후위 서버(108)는 리다이렉팅된 검색 결과 등에 응답하여, 인터넷을 통해 입수할 수 있는 웹 페이지와 같은 전자 문서들에 관한 정보를 포함하는 중앙 데이터 색인(116)에 각각 링크된 하나 이상의 계열 노드 서버(affiliated node server)(110)에게 쿼리를 제출하고, 사용자에 관련될 수 있는 전자 문서에 대한 데이터(즉, 검색 결과)를 리트리브(retrieve)한다. 또한, 각각의 노드 서버(110)는 메모리 캐시(도시되지 않음)를 포함하여, 이전에 리트리브된 문서 데이터[즉, 웹 페이지 데이터(112)]를 저장한다. 도 2를 참조하여 보다 상세하게 설명된 바와 같이, 색인(116)은 위치(예를 들어, 링크 또는 URL), 메타태그(metatag), 텍스트 및 문서 카테고리와 같은 전자 문서에 대한 데이터를 포함한다. 도 1의 예에서, 본 발명은 하나 이상의 계열 노드 서버(110)들로부터 리트리브된 검색 결과를 카테고리로 분배하는 것 및 클라이언트(102)를 통해 사용자(114)에게 분배된 검색 결과를 디스플레이하는 것의 문맥으로 설명된다. 특히, 전위 서버(106)와 후위 서버(108)가 네트워크 환경에서 상이한 컴포넌트들로 설명되더라도, 단일 서버가 양쪽 함수 모두를 수행할 수 있음이 이해될 것이다.
본 발명은 후위 서버(108)에 의해 실행되는 검색 엔진 어플리케이션(118)을 사용하여, 클라이언트(102)로부터 수신된 검색 요청에 응답함으로써, 어플리케이션(118)이 다양한 카테고리들 내의 웹 페이지 등(즉, 전자 문서)을 식별한다. 특히, 어플리케이션(118)은 검색 요청에 포함된 하나 이상의 용어들에 대응하는 색인(116)으로부터 다양한 카테고리들 내의 관련 웹 페이지들을 식별하고, 각각의 식별된 카테고리들에 가장 관련성이 높은 웹 페이지들을 식별하여, 클라이언트(102)를 통해 사용자(114)에게 디스플레이한다. 예를 들어, 사용자 입력(즉, 검색 요청)이 용어 "apple"을 정의하면, 검색 엔진 어플리케이션(118)은 결과들을 과일 카테고리 와 Apple® 컴퓨터 카테고리로 분배할 수 있다. 카테고리화를 통해 결과들을 분배하고 각각의 카테고리로부터 다수의 최적 결과들을 선택하여 디스플레이함으로써, 사용자(114)는 검색 결과의 첫번째 페이지 상에서 다양하고 상이한 카테고리에 관련된 가장 관련성이 높은 웹 페이지들을 관찰할 수 있다.
이제 도 2를 참조하면, 블럭도는 본 발명이 검색 결과의 단일 페이지 상에 디스플레이할 다양한 카테고리들 내의 검색 결과들을 리트리브하기 위해, 액세스하는 색인(116)을 파퓰레이트(populate)하기 위해 사용되는 예시적인 컴퓨터 네트워크(200)의 컴포넌트를 예시한다.
일 실시예에서, 패칭 서버(204)가 시드 데이터(206, seed data)에 응답하여, 패칭 모듈(206, fetching module)을 실행시켜서, 인터넷(또는 월드 와이드 웹)(104)을 통해 액세스가능한 다양한 웹 서버(210)들로부터의 웹 페이지와 같은 HTML 문서들을 리트리브한다. 당업자들에게 알려진 바와 같이, 시드 데이터(206)는 하나 이상의 HTML 문서들을 유지하고 있는 특정한 웹 서버(210)의 위치를 각각 식별하는 URL들의 리스트를 포함할 수 있다. 패칭 모듈(208)은 시드 데이터(206)(즉, 시드 URL)를 사용하여, 네트워크(8104)(예를 들어, 월드 와이드 웹)의 크롤링(crawling)을 개시한다. 여기에 사용된 바와 같이, "크롤링"이라는 용어는 시드 데이터(206)에 의해 식별된 웹 페이지들 상의 내용을 리트리브하고 분석하는 프로세스를 의미한다. 예를 들어, 크롤링 프로세스동안, 각각의 리트리브된 웹 페이지들에 포함된 URL들은 패칭 모듈(208)에 의해 식별되고 추가적인 웹 페이지들 상의 내용을 액세스 및 분석하기 위해 사용된다.
인터넷을 통해 입수할 수 있는 웹 페이지의 양이 매우 많기 때문에, 각각 패칭 모듈(208)을 실행시키는 복수의 패칭 서버(204)들이 사용되어, 웹 페이지 내용을 리트리브하고 분석할 수 있다. 예를 들어, 패칭 서버(204)들의 그룹은 도메인 해시(domain hash)에 의해 파티션(partition)될 수 있다. 도메인 해시는 URL의 정규화된 형태를 의미한다. 예를 들어, URL "http://www.a.com/services"는 "http:www.a.com:80"으로 변형된다. 이 스트링의 10 바이트 해시가 그 후 취해질 수 있으며, 예를 들어, 해시 스트링 내의 특정한 바이트(예를 들어, 80)는 어느 패칭 서버(204)가 해시의 특정한 파티션의 해시를 처리할지를 결정하는 데 사용된다. 즉, 각각의 패칭 서버(204)는 도메인 해시 공간을 파티션할 책임이 있다. 예를 들어, 네개의 패칭 서버(204)들이 있고, 전체 도메인 해지 공간이 값 1-400의 범위를 가졌으면, 다음과 같이 분할된다:
패칭 서버 1:
하위 해시: 1
상위 해시: 100
패칭 서버 2:
하위 해시: 101
상위 해시: 200
패칭 서버 3:
하위 해시: 201
상위 해시: 300
패칭 서버 4:
하위 해시:301
상위 해시:400
그러므로, "http:www.a.com:80"으로 변형된 URL의 경우, 패칭 서버 #1은 이 특정한 URL을 재할당받을 것이다. 그 후, 패칭 모듈(208)은 색인 구축기 모듈(214)에게 리트리브된 전자 문서를 전달한다.
색인 구축기 모듈(214)이 수신된 웹 페이지에 반응하고, 패칭 서버(204)에 의해 실행되어, 각각의 리트리브된 웹 페이지의 내용을 파싱함으로써, 문서 데이터를 식별하고, 각각의 수신된 전자 문서들에 대한 식별된 문서 데이터의 색인(116)을 생성 및 유지한다. 이 실시예에서, 색인(116)은 서버(204)의 메모리(216)에 저장되고, 다양한 유형의 식별된 데이터 구조 및 그들의 스키마들에 대한 조직화된 리스트를 포함한다. 예를 들어, 색인 구축기(214)는 구조된 데이터(예를 들어, URL, 단어, 메타태그 등)를 검출하기 위해 획득된 전자 문서들을 파싱하는 특징 추출 도구(217)를 포함하고, 메모리(216) 내의 색인(116)에 검출된 구조된 데이터를 나타내는 색인 용어들을 점차적으로 추가한다. 특히, 색인(116)이 서버(204) 상의 메모리(216) 내에 유지되고 있다고 상술되었지만, 색인은 원격 서버에 관련된 외부 저장 매체 상에 유지될 수 있다고도 고려된다.
카테고리 도구(218)는 색인에 링크되고, 파싱된 내용(즉, 식별된 문서 데이터)과 ODP(Open Directory Project)와 같은 하나 이상의 외부 데이터 소스 또는 이전에 카테고리화된 웹 페이지들에 관한 색인 데이터의 함수로서 각각의 리트리브된 웹 페이지들에 대한 하나 이상의 카테고리들을 식별한다.
당업자들에게 알려진 바와 같이, ODP는 사람에 의해 분류된 내용에 대한 가장 광범위하게 분산된 데이터베이스 중 하나이다. 예를 들어, ODP가 URL www.gs.com을 갖는 웹 페이지를 비지니스→재무 아래로 카테고리화하고, URL www.gs.com/venturecapital/을 가진 웹을 비지니스→재무→중개업자 아래로 카테고리화한다고 가정하자. 카테고리 도구(218)가 카테고리화할 URL www.gs.com/venturecapital/foo/bar.html을 받으면, 처음에 그것은 매칭하는 URL을 찾기 위해 외부 데이터 소스들 및/또는 색인을 쿼리할 것이다. URL www.gs.com/venturecapital/foo/bar.html을 찾지 못하면, 카테고리 도구(218)는 그 후 www.gs.com/venturecapital/foo를 찾기 위해 외부 데이터 소스들 및/또는 색인을 쿼리할 것이다. 마지막으로, www.gs.com/venturecapital/foo를 찾지 못하면, 카테고리 도구(218)는 www.gs.com/venturecapital을 체크하고 그 웹 페이지(즉, www.gs.com/venturecapital/foo/bar.html)를 비지니스→재무→중개업자 카테고리로 할당할 것이다. www.gs.com 자체는 카테고리를 가질 수 있다. 또한, 보다 짧은 URL은 상이한 카테고리들을 가질 수 있다. 예를 들어, www.gs.com은 단지 비지니스→재무일 수 있다. 특정한 페이지가 카테고리화된 후, 그 특정한 페이지에 대한 식별된 카테고리 정보는 색인(116)에 유지된다. 색인 내에 지정된 식별된 데이터의 유형은 문서 기원(즉, URL), 단어, 메타태그, HTTP 헤더 내의 리턴된 문서 데이터, 리소스 설명 프레임워크(RDF) 데이터들도 포함할 수 있다. 식별된 카테고리들에 따라, 그 카테고리에 할당된 신뢰 수준이 있을 수 있다. 예를 들어, 하와이의 여행 페이지는 80%의 신뢰 수준을 갖는 "레크레이션\여행" 카테고리 및 75%의 신뢰 수준을 갖는 미국\주\하와이 카테고리를 가질 수 있다.
랭킹 도구(220)는 특정한 카테고리 내의 문서에 대한 관련성 레이팅을 계산한다. 일 실시예에서, 랭킹 엔진은 하나 이상의 학습 기반 식별자를 사용하여 선택된 카테고리 또는 토픽(자동차와 같은)에 관련된 문서에 대한 하나 이상의 레이팅을 결정하고, 그 후 그 결과를 조합하여 전반적인 분류 및/또는 레이팅을 생성한다. 다양한 학습 기반 식별자가 사용되어, 문서들을 레이팅한다. 각각의 식별자들에 대한 예는 결정 트리, 신경 네트워크, 베이지안 네트워크(Bayesian network)를 포함하고(이에 한정된 것은 아님), 전체가 참조로 여기에 통합된 미국 특허 번호 제6,192,360호에 설명된 바와 같은 벡터 기기를 지원한다. 특정한 카테고리에 관련된 특정한 문서의 결정된 레이팅을 사용하여, 색인 내에 문서들을 조직할 수 있다.
단일 컴퓨터는 대용량 색인을 저장하기에 충분한 메모리를 갖지 못하기 때문에, 색인(116)은 다수의 계열 서버(224)[예를 들어, 수백개의 계열 노드 서버들(110)]에 걸쳐 분산될 수 있다. 그러므로, 색인(116)은 하나 이상의 파일(예를 들어, 문서)로서 다수의 컴퓨터 상에 저장될 수 있다. 또한, 각각의 서버(224)[또는 서버(110)]는 색인(116)의 하부세트를 포함할 수 있다. 예를 들어, 색인(116)은 10억 개의 네트워크 위치를 리스트할 수 있으며, 여기서 네트워크 위치는, 네트워크 위치 1 내지 1000은 제1 계열 서버 상에 저장된 하부색인(222)에 리스트되고, 네트워크 위치 1001 내지 2000은 또다른 계열 서버 상에 저장된 제2 하부색인(222) 에 리스트되는 것처럼 리스트된다. 이런 파일들은 네트워크 위치들에 대한 긴 리스트로 결합 또는 링크되므로, 이런 파일들은 단일의 대용량 파일로 취급될 수 있다. 검색 요청에 응답하여, 쿼리 프로세서는 그 후 색인(116)의 하부세트들을 포함하는 컴퓨터 상에 쿼리를 발행한다.
본 발명의 일 실시예에서, 색인 구축자(214)는, 예를 들어, 리스트된 색인 용어들에 기초하여, 서버(224)들에 분산시키기 위해 색인(116)을 파티션한다. 따라서, 이런 파일들 내의 색인 용어들의 파티션이 알려지면, 이런 색인 용어가 두개 이상의 파일 내에 나타나더라도, 특정한 색인 용어가 나타나는 특정한 파일이 결정될 수 있다. 본 발명의 대안적인 실시예에서, 색인 구축자(214)는 무작위로 또는 반무작위로 서버(224)에 색인(116)을 분산시킬 수 있다. 색인(116)을 무작위로 또는 반무작위로 분산시키는 것은 쿼리 프로세서들 사이의 효과적인 로드 밸런싱을 제공할 수 있다. 이것은, 예를 들어, 인기있는 용어들의 배치 때문에, 특정한 쿼리 프로세서가 다른 쿼리 프로세스들보다 많은 쿼리들을 처리하는 것을 방지할 수 있다. 그러므로, 색인(116)을 무작위로 또는 반무작위로 분산시킴으로써, 쿼리 프로세싱이 쿼리 프로세서들 사이에서 예상대로 고르게 분할될 수 있다.
다수의 서버들에 걸쳐 색인(166)을 분산시키기 위해, 색인 구축자(214)는 색인(116)을 청크(chunk)들로 분할한다. 특히, 색인 구축자(214)는 검출된 구조된 데이터로부터 결정된 색인 용어들을 색인의 청크로 컴파일링(compiling)하고, 그 청크들을 컴퓨터들로 분산시킴으로써 색인(116)을 생성한다. 주기적으로, 색인 구축자(214)는 새로운 색인 청크들을 색인(116)에 축적시킨다. 즉, 색인 구축자 (214)는 주기적으로(예를 들어, 1분에 5번) 보다 소형이고 증가적인 색인 프래그먼트(fragment)들을 보다 대용량의 색인(116)으로 병합시킨다.
본 발명의 실시예에서, 갱신된 데이터를 나타내는 새로운 색인 청크들을 색인(116)으로 병합하기 위해(즉, 이전에 획득되고 파싱된 전자 문서들은 새롭거나 갱신된 구조된 데이터를 포함할 수 있음), 색인 구축자(214)는 우선 새로운 청크들을 추출한다. 이어서, 색인 구축자(214)는 새로운 청크들의 세트 내의 제1 색인 용어를 검출한다. 색인 구축자(214)는 새로운 청크들의 세트에 걸쳐 이 색인 용어에 관련된 네트워크 위치 및 속성들을 단일 리스트로 더 조합시킨다. 색인 구축자(214)는 그 후 이 리스트를 새로운 색인 파일로 삽입한다. 또한, 색인 구축자(214)는 새로운 청크들을 색인(116)으로 병합할 때, 갱신가능한 색인(116)으로부터 기존 색인 청크들을 주기적으로 제거한다. 추가적으로, 색인 구축자(214)가 새로운 색인 청크들을 병합하기 전에, 쿼리 프로세서는 이러한 새로운 청크들을 쿼리할 수 없다. 그러나 색인 구축자(214)가 색인(116)으로 새로운 청크들을 병합한 후에는, 새롭게 병합된 색인(116)을 쿼리할 수 있다. 쿼리시에 두개의 페이지가 동일한지를 결정하고 중복을 제거하는 것을 돕기 위해, 슁글 프린트(shingle print)를 사용할 것이다. 슁글 프린트는 6개의 부호없는 16비트 값으로 구성된다. 각각의 16 비트 값은 두개의 문서들 간의 실질적인 구문상의 유사성을 표현한다. 예를 들어, 두 문서 간의 기본 유사성이 95%를 넘을 때, 6개의 슁글 중 4개가 거의 항상 매치한다.
표 1을 참조하면, 예시적인 색인(116)에 포함된 문서 데이터가 나타나있다.
C1 C2 C3 C4 C5
용어 CAT_ID DOC_ID 레이팅 요약_설명
R1 APPLE 2 168 90 APPLES & MORE PRESERVING APPLES
R2 2 402 85 APPLES & NUTRITION
R3 2 302 80 COOKING WITH APPLES/EASY FRUIT SALAD
R4 4 102 90 MC COMPUTERS
R5 4 202 88 PERSONAL COMPUTERS
R6 4 205 75 COMPARING APPLES™
R7 WASHINGTON_STATE 5 307 95 WECOME TO WASHINGTON STATE TOURISM
R8 5 308 90 WASHINGTON STATE UNIVERSITY
R9 5 315 30 WASHINGTON STATE APPLE COMMISION
R10 SATURN 7 218 100 SATURN.COM SHOW ROOM
R11 7 225 98 SATURN CAR DEALERS
R12 7 250 80 AUTO REVIEWS
R13 12 405 99 SATURN THE SIXTH PLANET FROM THE SUN
R14 12 410 95 SATURN PLANET
R15 12 412 90 SATURN EVENTS
도 1 및 2를 참조하여 상술된 바와 같이, 색인(116)은 크롤링 프로세스동안 식별된 복수의 전자 문서들에 대한 문서 데이터를 포함한다. 각각의 컬럼(C1-C5)은 특정한 전자 문서에 대한 다양한 데이터 필드의 값에 대응한다. 각각의 로우(R1-R5)들은 특정한 전자 문서에 대응한다. 이 예에서, 색인은 고유 색인 용어(즉, 단어)의 리스트를 포함한다. 고유 색인 용어 다음에는, 그 고유 색인 용어를 가진 전자 문서가 할당된 특정한 카테고리를 각각 표현하는 카테고리 식별자(카테고리 ID)의 리스트가 있다. 카테고리 ID는 특정한 카테고리를 고유하게 식별하는 지정된 바이트 값(예를 들어, 4바이트)이고, 고유 카테고리 ID는 쿼리 또는 어그리게이션(aggregation)을 위해 사용될 수 있다. 예를 들어, ODP와 같은 카테고리 데이터 소스에 의해 할당된 각각의 카테고리도 고유 카테고리 ID를 할당받는다. 예를 들어, 표 1에 리스트된 값 2를 갖는 카테고리 ID는 과일 카테고리에 대응한다(예를 들어, 표 1의 R1 및 C1에 위치된 셀들을 보자, 이하에서는 R1C2로 참조됨). 일 실시예에서, 색인(116)은 카테고리 이름 및 그들의 대응하는 카테고리 ID들의 리스트를 포함하는 룩업 표(lookup table)에 링크된다. 그러므로, 카테고리 ID가 주어지면, 색인 구축자(214)는 검색 요청에 응답하여, 표을 쿼리하고 특정한 카테고리 ID에 대한 카테고리 이름을 신속하게 리트리브한다. 또한, 카테고리 ID가 주어지면, 색인 구축자(214)는 그 카테고리의 모든 부모 및 그 카테고리의 하부 카테고리들을 식별할 수 있다. 예를 들어, 도 1을 참조하여 상술된 예를 참조하면, 사용자가 "비지니스→재무→" 카테고리 내의 웹 페이지들에 대응하는 검색 용어들을 입력하면, 검색 엔진은 비지니스→재무→저당과 같은 이 카테고리의 하부 카테고리들로부터의 모든 결과들을 보일 수 있어야 한다.
또다른 예와 같이, 초기 검색 용어에 응답하여 리트리브된 검색 결과들이 Automotives\Saturn 카테고리 내에 있으면, 사용자는 Automotives\Saturn 카테고리 아래의 결과를 조금 더 관찰하기 위해 옵션을 선택할 수 있다. 이 경우에, Saturn 아래의 하부 카테고리 레벨에서 분배가 일어난다. 하부 카테고리들은 중고차, 판매권, 서비스, 모델 세부사항 등을 포함할 수 있었다. 역으로, 사용자가 초기 검색 용어로서 Saturn을 입력할 때, 고레벨에서 분배가 일어나고, 고레벨에서 카테고리들이 상이하기 때문에, 상이한 검색 결과들이 리트리브된다. 예를 들어, 결과들은 Automotives\Saturn, Science\Planets\Saturn 또는 Recreation\Astrology\Horoscope 등의 카테고리들 아래에 있을 수 있다. 즉, 쿼리 용어에 따라서, 사용자는 고레벨 카테고리들 또는 하부 카테고리들에 대한 검색 결과들을 볼 수 있다. 결론적으로, 사용자는 검색 결과를 좁히거나 카테고리를 걸러서, 관심있는 카테고리들 내의 검색 결과들이 분배 포맷으로 사용자에게 보여지도록 한다.
카테고리 ID 다음에는 고유 색인 용어가 나타내는 카테고리 ID를 갖는 전자 문서의 문서 ID의 리스트가 있을 수 있다. 문서 ID는 URL의 형태 또는 URL을 나타내는 도메인 해시일 수 있다. 또한, 문서 ID 다음에는 문서 ID가 나타내는 전자 문서의 색인 용어의 속성에 대한 리스트가 있을 수 있다. 이러한 속성들을 사용하여, 검색 결과 내의 전자 문서의 관련성 랭킹을 결정할 수 있다. 예를 들어, 관련성 랭킹은 랭킹 도구(220)가 정의한 바와 같은, 특정한 카테고리에 관련된 특정한 문서의 관련성 랭킹 속성에 대응할 수 있다. 게다가, 문서 ID의 속성의 다음에는 문맥적 설명에 대응하는 청크 데이터 또는 색인(116)이 유지하고 있는 각각의 특정한 문서 ID의 단편일 수 있다. 즉, 내용 청크 데이터는 디스플레이를 통해 사용자에게 디스플레이하기 위해, 문서 ID에 의해 식별되는 바와 같은, 각각의 웹 페이지에 대한 요약 설명 정보를 포함한다.
표 1에 도시된 바와 같이, 색인(116)의 예시적인 일부는 색인 용어 "Apple"을 포함한다(R1C1를 보자). 이 색인 용어 다음에는 카테고리 ID의 리스트가 있으며, 여기서 색인 용어 "Apple"에 대응하는 문서 데이터가 존재한다. 이 예에서, 카테고리 ID 값 2 및 4(각각 R1-R3C2 및 R4-R6C2를 보자)는 용어 "Apple"에 대응한다. 각각의 카테고리 ID의 다음에는 특정한 카테고리 ID를 갖는 전자 문서들의 문서 ID들에 대한 리스트가 있으며, 여기서 특정한 색인 용어에 대응하는 문서 데이터가 끝난다. 결론적으로, 문서 ID들은 색인에 리스트된 특정한 용어들에 대응하는 각각의 카테고리 ID에 따라서 그룹화될 수 있다. 예를 들어, 색인 용어 "State-Washington"에 대응하는 문서 데이터는 307, 308 및 315의 문서 ID를 갖는 전자 문서 내에 존재한다. 또한 표 1에 제시된 바와 같이, 색인(116)의 예시적인 부분은 카테고리 ID들의 리스트가 뒤따르는 색인 용어 "Saturn"을 포함하며, 그 카테고리 ID들 각각의 뒤에는, 이 색인 용어에 대응하는 문서 데이터가 나타나는 전자 문서의 문서 ID들의 리스트가 있다.
다음으로 도 3을 참조하면, 예시적인 블럭도는 본 발명의 일 실시예에 따라 클라이언트(102), 어플리케이션 서버(304)[예를 들어, 후위 서버(108)] 및 하나 이상의 계열 서버(110)들의 컴포넌트를 예시한다.
클라이언트 어플리케이션(306)은 사용자(114)가 통신 네트워크(104)를 통해 서버(304)로부터의 HTML 문서들을 리트리브하게 한다. 클라이언트 어플리케이션(306)은 클라이언트(102)에 의해 실행되고, 사용자 입력 데이터에 응답하여, 이러한 HTML 문서(즉, 웹 서식)(310)들의 리트리브를 개시한다. 당업자는 클라이언트 어플리케이션(306)이 마이크로소프트사가 제공하는 인터넷 익스플로러 브라우저와 같은 웹 브라우저일 수 있음을 인식할 것이다. 종종, 사용자(114)는 클라이언트 어플리케이션(306)을 사용해, 서버(304)에 접촉하여, 사용자(114)로부터의 입력 데이터를 받아들이는 웹 서식(web form)(310)을 리트리브한다.
클라이언트(102)에 링크된 사용자 인터페이스(314, UI)는 사용자(114)가 리트리브된 웹 서식(310)과 상호작용하게 한다. 예를 들어, UI(314)는 웹 서식(310)을 관찰하기 위한 컴퓨터 모니터와 같은 디스플레이(316), 및 참조번호(319)가 나타낸 바와 같이 웹 서식(310)으로 데이터를 입력하기 위한 키보드 또는 포인팅 장치(예를 들어, 마우스, 트랙볼, 펜 또는 터치 패드)와 같은 입력 장치(318)를 포함할 수 있다. 즉, UI(314)는 사용자(114)가 홈 클라이언트 상에서 검색 데이터를 정의하게 하며, 사용자(114)가 서버(304)에게 요청을 제출하여 정의된 데이터를 찾기 위해 각각의 계열 서버(110) 상에 유지되고 있는 색인 데이터(112)[또는 하부색인 데이터(222)]를 검색하게 한다.
이 예시적인 실시예에서, 어플리케이션 서버(304)는 사용자 요청을 인증하고, 인증된 사용자에게 웹 자원 및/또는 서비스를 제공한다(예를 들어, 전위 서버(106) 및 후위 서버(108)로 동작함). 검색 엔진 어플리케이션(322)은 사용자 검색 요청에 반응하고, 어플리케이션 서버(304)에 의해 실행되어, 정의된 검색 데이터에 매칭하는 문서 데이터를 찾기 위해 각각의 계열 서버(110)들 상에 유지되고 있는 색인 데이터(112)를 쿼리한다. 예를 들어, 클라이언트 컴퓨터(102)를 사용하는 사용자는 웹 서식에 용어 "apples"를 입력하고, 서버(304)에게로 용어 "apple"에 대한 검색 요청을 제출한다. 검색 엔진 어플리케이션(322)은 색인 데이터(112)에 리스트된 색인 용어들을 쿼리하기 위한 쿼리 명령어(324)들을 포함하여, 사용자가 정의한 검색 데이터에 매치하는 색인 용어를 식별한다. 매칭 색인 용어를 찾으면, 검색 엔진 어플리케이션(322)은 리트리브 명령어(325)를 실행시켜서, 색인으로부터 대응하는 카테고리 ID 데이터, 문서 ID 데이터, 속성 데이터 및 내용 청크 데이터를 리트리브한다. 검색 엔진(322)은 분배 명령어(326)를 포함하여, 도 4에 도시된 바와 같이 디스플레이(316)상에서 사용자에게 검색 결과를 디스플레이한다. 디스플레이된 검색 결과들은 매치된 색인 용어에 대응하는 특정한 문서 ID에 의해 정의된 바와 같은 각각의 전자 문서에 대한 요약 설명 정보(즉, 내용 청크 데이터)를 포함한다.
일 실시예에서, 분배 명령어(326)는 내용 청크 데이터가 매칭 색인 용어에 근접한 색인에 리스트된 각각의 카테고리 ID에 대한 소정 개수의 문서 ID를 디스플레이하는 검색 결과 양식을 생성한다. 예를 들어, 검색 용어 "apple"에 대해서, 분배 명령어(326)는 용어 "apple"에 관련된 비지니스 또는 제조업자(예를 들어, Apple® 컴퓨터), 요리법, 과학/건강 및 농작법이란 각각의 카테고리들에 대해 최대 다섯개의 링크를 디스플레이하는 양식(328)을 생성할 수 있다. 표 1을 다시 참조하면, 생성된 검색 결과 양식을 표 1에 나타난 색인에 리스트된 요약_설명 데이터와 같은 내용 청크 데이터를 포함할 수 있다. 또한, 매칭 용어를 갖는 것으로 식별된 각각의 전자 문서에 대한 디스플레이된 링크 및/또는 내용 데이터는 특정한 카테고리에 따라 리스트 내에 그룹화되고, 특정한 카테고리에 대응하는 카테고리 ID에 근접하게 리스트된 각각의 문서 ID에 관련된 관련성 레이팅에 따라 조직화된다. 예를 들어, 검색 용어 "apple"에 대해서, 요약_설명 "APPLES & MORE PRESERVING APPLES"를 갖는 전자 문서는 과일 카테고리(즉, 카테고리ID = 2)에 관련된 그룹 리스트의 상부에 나타날 것이고, 요약_설명 "APPLES & NUTRITION COOKING WITH APPLES"을 가진 전자 문서는 이 특정한 그룹에서 다음으로 나타날 것이며, 요약_설명 "EASY FRUIT SALAD"를 갖는 전자 문서는 이 특정한 그룹 내의 하부에 나타날 것이다. 그러므로, 사용자(114)가 정의한 검색 용어가 광범위한 카테고리에 관련되었더라도, 사용자는 검색 결과의 첫번째 페이지 상에서 상이한 카테고리들로부터의 최적 결과들을 제공받아, 원하는 결과를 쉽게 식별할 수 있다.
또다른 실시예에서, 검색 결과 형태로 사용자(114)에게 디스플레이된 검색 결과의 개수는 매칭 색인 용어에 근접한 색인 데이터(112) 내에 리스트된 카테고리 ID(즉, 카테고리들)의 개수의 함수이다. 예를 들어, 매칭 색인 용어에 근접해 총 3개의 카테고리 ID가 리스트되면, 상위 3분의 1(33.33%)의 관련성 레이팅 값을 갖는 문서 ID에 대응하는 내용 청크 데이터는 검색 결과 형태를 통해 사용자(114)에게 디스플레이될 것이다. 즉, 사용자가 정의한 검색 용어가 광범위한 주제(즉, 카테고리)에 관련되었더라도, 사용자(114)는 검색 결과의 단일 페이지 상에서 상이한 카테고리들로부터의 결과를 제공받아, 원하는 결과를 쉽게 식별할 수 있다.
또다른 실시예에서, 검색 엔진 어플리케이션(322)은 광고 리트리브 명령어(330)를 포함한다. 광고 리트리브 명령어(330)는 리트리브된 카테고리 ID 데이터에 반응하고, 어플리케이션 서버(304)에 의해 실행되어, 하나 이상의 식별된 카테고리에 관련된 광고 정보를 찾기 위해 제3자 소스(332)를 쿼리하여, 검색 결과 양식으로 사용자에게 디스플레이한다. 예를 들어, 카테고리 ID 데이터가 자동차 카테고리를 지정하면, 광고 명령어(330)는 제3자 데이터 소스를 쿼리하고, 자동자 제조업자에 관련된 광고 배너들을 디스플레이한다. 다른 예로서, 다시 표 1을 참조하면, 매칭 색인 용어가 "Saturn"이면(R1:C10을 보자), 하나의 대응하는 카테고리 ID 데이터 필드가 (이 경우에 자동차 카테고리를 나타냄) "7"의 값을 갖는다. 광고 명령어(330)는 Saturn® 자동차 판매업자들에 대한 광고 정보를 디스플레이할 수 있다.
다음으로 도 5를 참조하면, 예시적인 순서도는 검색 결과의 단일 페이지 상에서 사용자(114)에게 디스플레이하기 위해, 카테고리에 의해 검색 결과들을 분배하는 방법을 나타낸다. 블럭(502)에서, 검색 엔진 어플리케이션(118)과 같은 어플리케이션은 사용자(114)로부터 검색 요청을 수신한다. 검색 요청은 사용자에 의해 정의되며, 인터넷을 통해 사용가능한 하나 이상의 원하는 웹 페이지에 나타날 수 있거나 나타나리라고 예상될 수 있는 하나 이상의 용어(예를 들어, 단일 단어, 다수의 단어들)들을 지정한다. 블럭(504)에서, 검색 엔진 어플리케이션(118)은 복수의 공개된 웹 페이지들에 대한 색인 용어들을 포함하는 문서 데이터를 저장하고 있는 색인(116)을 쿼리하여, 지정된 색인 용어를 가져 색인 용어에 매치하는 하나 이상의 공개된 웹 페이지를 식별한다. 블럭(506)에서, 검색 엔진 어플리케이션(118)은 식별된 하나 이상의 웹 페이지들의 각각에 대해 저장된 문서 데이터로부터 카테고리 및 문서 위치를 식별한다. 블럭(508)에서, 검색 엔진 어플리케이션(118)은 식별된 하나 이상의 문서들의 각각에 대해 저장된 문서 데이터로부터 레이팅 또는 랭킹 값을 결정한다. 랭킹 또는 레이팅 값은 특정한 식별된 카테고리에 대한 특정한 식별된 문서의 관련성을 나타낸다. 블럭(510)에서, 프로세스는 저장된 문서 데이터로부터 요약 설명을 식별하여, 각각의 식별된 문서들에 대한 검색 결과로 보여준다. 블럭(512)에서, 검색 엔진 어플리케이션(118)이 검색 결과를 분배함으로써, 예를 들어, 각각의 식별된 카테고리에 대한 소정양의 검색 결과들이 검색 결과의 첫번째 페이지 상에서 사용자에게 디스플레이된다. 즉, 각각의 식별된 카테고리(즉, 카테고리 ID)에 대한 검색 결과의 그룹이 검색 결과의 첫번째 페이지 상에 디스플레이된다. 검색 결과들은 또한 일반적인 식별된 카테고리에 따라 그룹화된 식별된 문서 위치(예를 들어, 문서 ID)를 포함하여, 요약 설명과 함께 사용자에게 제시될 수 있다. 바람직한 실시예에서, 그룹화된 검색 결과가 조직화되어, 특정한 카테고리 그룹에 디스플레이된 각각의 문서 ID 및/또는 요약 설명은 그들의 대응하는 랭크 값에 따라 시퀀스로 조직화된다.
이제 도 6을 참조하면, 컴퓨터(130) 형태의 범용 컴퓨팅 장치의 일 예가 도시된다. 본 발명의 일 실시예에서, 컴퓨터(130)와 같은 컴퓨터는 여기에 예시 및 설명된 다른 특징들에서 사용되기에도 적절하다. 컴퓨터(130)는 하나 이상의 프로세서 또는 프로세싱 유닛(132) 및 시스템 메모리(134)를 갖는다. 예시된 실시예에서, 시스템 버스(136)는 시스템 메모리(134)를 포함하는 다양한 시스템 컴포넌트들을 프로세서(132)에 연결시킨다. 버스(136)는 메모리 버스, 메모리 제어기, 주변 버스, 고속 그래픽 포트, 및 프로세서 또는 다양한 버스 아키텍처들 중 임의의 것을 사용하는 로컬 버스(local bus)를 포함하는 임의의 몇몇 유형의 버스 구조 중 하나 이상을 나타낸다. 예를 들어, 이러한 구조는 ISA 버스, MCA 버스, EISA 버스, VESA 로컬 버스, 및 메자닌 버스(Mezzanine bus)로도 알려진 PCI 버스를 포함하지만, 이에 한정된 것은 아니다.
컴퓨터(130)는 전형적으로 적어도 몇몇 형태의 컴퓨터 판독가능 매체를 갖는다. 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 모두를 포함하는 컴퓨터 판독가능 매체는 컴퓨터(130)가 액세스할 수 있는 임의의 사용가능한 매체일 수 있다. 한정하는 것은 아니지만 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 예를 들어, 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용할 수 있고 컴퓨터(130)가 액세스할 수 있는 임의의 다른 매체를 포함한다. 통신 매체는 전형적으로 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. 당업자들은 정보를 신호로 엔코딩하는 방식으로 설정 또는 수정된 하나 이상의 특징들을 갖는 변조된 데이터 신호에 익숙할 것이다. 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체는 통신 매체의 예이다. 상기의 것들의 임의의 것의 조합도 컴퓨터 판독가능 매체의 영역에 포함된다.
시스템 메모리(134)는 분리형 및/또는 비분리형, 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 예시된 실시예에서, 시스템 메모리(134)는 ROM(138) 및 RAM(140)을 포함한다. 시동시에 컴퓨터(130) 내의 구성요소들 간에 정보를 전달하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(142)은 전형적으로 ROM(138)에 저장된다. RAM(140)은 전형적으로 프로세싱 유닛(132)에 즉시 액세스할 수 있고/하거나 그것 상에서 현재 연산중인 데이터 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 6은 오퍼레이팅 시스템(144), 어플리케이션 프로그램(146), 다른 프로그램 모듈(148) 및 프로그램 데이터(150)를 예시하지만, 이에 한정된 것은 아니다.
컴퓨터(130)는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체도 포함할 수 있다. 예를 들어, 도 6은 비분리형, 비휘발성 자기 매체로부터 판독하고 이에 기록을 하는 하드 디스크 드라이브(154)를 예시한다. 도 6은 분리형, 비휘발성 자기 디스크(158)로부터 판독하고 이에 기록하는 자기 디스크 드라이브(156) 및 CD-ROM 또는 다른 광학 매체와 같은 분리형, 비휘발성 광학 디스크(162)로부터 판독하고 이에 기록하는 광학 디스크 드라이브(160)도 예시한다. 예시적인 동작 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이브, 고형 RAM, 고형 ROM 등을 포함하지만, 이에 한정된 것은 아니다. 하드 디스크 드라이브(154), 자기 디스크 드라이브(156) 및 광학 디스크 드라이브(160)는 전형적으로 인터페이스(166)와 같은 비휘발성 메모리 인터페이스에 의해 시스템 버스(136)에 연결된다.
상술되고 도 6에 예시된 드라이브 또는 다른 대용량 저장 장치 및 그 관련 컴퓨터 저장 매체는 컴퓨터(130)에 대해 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 다른 데이터의 저장 장치로서 제공된다. 도 6에서, 예를 들어, 하드 디스크 드라이브(154)는 오퍼레이팅 시스템(170), 어플리케이션 프로그램(172), 다른 프로그램 모듈(174) 및 프로그램 데이터(176)를 저장하는 것으로 예시된다. 이런 컴포넌트들은 오퍼레이팅 시스템(144), 어플리케이션 프로그램(146), 다른 프로그램 모듈(148) 및 프로그램 데이터(150)와 동일하거나 상이할 수 있다. 오퍼레이팅 시스템(170), 어플리케이션 프로그램(172), 다른 프로그램 모듈(174) 및 프로그램 데이터(176)는 적어도 그들이 상이한 복사본임을 예시하기 위해, 여기에서 상이한 번호가 주어진다.
사용자는 키보드(180) 및 포인팅 장치(182)(예를 들어, 마우스, 트랙볼, 펜 또는 터치 패드)와 같은 입력장치 또는 사용자 인터페이스 선택 장치를 통해 컴퓨터(130)에 코맨드(command) 및 정보를 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이런 및 다른 입력 장치는 시스템 버스(136)에 연결된 사용자 입력 인터페이스(184)를 통해 프로세싱 유닛(132)에 접속되지만, 주변 포트, 게임 포트 또는 USB와 같은 버스 구조들 및 다른 인터페이스에 의해 접속될 수도 있다. 모니터(188) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(136)에 접속될 수 있다. 모니터(188) 이외에, 컴퓨터는 종종 출력 주변 인터페이스(도시되지 않음)를 통해 접속될 수 있는 프린터 및 스피커와 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다.
컴퓨터(130)는 로밍 클라이언트(194, roaming client)와 같은 하나 이상의 로밍 클라이언트에의 논리적인 접속을 사용하여 네트워크 환경에서 동작할 수 있다. 로밍 클라이언트(194)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 일반 네트워크 노드일 수 있으며, 전형적으로 컴퓨터(130)에 관련해 상술된 많은 또는 모든 구성요소들을 포함한다. 도 6에 도시된 논리적인 접속은 LAN(196) 및 WAN(198)을 포함하지만, 다른 네트워크들도 포함할 수 있다. 이러한 네트워크 환경은 사무실, 기업 크기 컴퓨터 네트워크, 인트라넷 및 글로벌 컴퓨터 네트워크(예를 들어, 인터넷)에 일반적이다.
LAN 환경에서 사용될 때, 컴퓨터(130)는 네트워크 인터페이스 또는 어댑터(186)를 통해 LAN(196)에 접속된다. WAN 환경에서 사용될 때, 컴퓨터(130)는 전형적으로 모뎀(178) 또는 인터넷과 같은 WAN(198)에 걸쳐 통신을 구축하기 위한 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(178)은 사용자 입력 인터페이스(184) 또는 다른 적절한 프로그램을 통해 시스템 버스(136)에 접속된다. 네트워크 환경에서, 컴퓨터(130) 또는 그 일부들에 관련해 나타낸 프로그램 모듈은 원격 메모리 저장 장치(도시되지 않음)에 저장될 수 있다. 예를 들어, 도 6은 메모리 장치 상에 상주하는 원격 어플리케이션 프로그램(192)을 예시하지만, 이에 한정된 것은 아니다. 도시된 네트워크 접속은 예시적인 것일 뿐이며, 컴퓨터들 간의 통신 링크를 구축하는 다른 수단이 사용될 수 있음이 인식될 것이다.
일반적으로, 컴퓨터(130)의 데이터 프로세서는 상이한 시간에 컴퓨터의 다양한 컴퓨터 판독가능 저장 매체에 저장된 명령어에 의해 프로그래밍된다. 프로그램 및 오퍼레이팅 시스템은, 예를 들어, 전형적으로 플로피 디스크 또는 CD-ROM 상에 분산된다. 그러므로, 그들은 컴퓨터의 이차 메모리에 설치 또는 로드된다. 실행시에, 그들은 컴퓨터의 주 전자 메모리에 적어도 부분적으로 로드된다. 여기에 설명된 본 발명은 이런 및 다른 다양한 유형의 컴퓨터 판독가능 저장 매체를 포함하는 데, 여기서 이런 매체는 마이크로프로세서 또는 다른 데이터 프로세서에 관련해 후술된 단계들을 구현하기 위한 명령어 및 프로그램을 포함한다. 본 발명은 또한 여기에 설명된 방법 및 기술들에 따라 프로그램된 컴퓨터를 포함한다.
예시를 위해, 프로그램 및 오퍼레이팅 시스템과 같은 다른 실행가능 프로그램 컴포넌트는 개별 블럭으로 여기에 예시된다. 그러나, 이러한 프로그램 및 컴포넌트들은 컴퓨터의 상이한 저장 컴포넌트에 다양한 시간에 상주하며, 컴퓨터의 데이터 프로세서(들)에 의해 실행된다.
컴퓨터(130)를 포함하는 예시적인 컴퓨팅 시스템 환경에 관련해 설명됐지만, 본 발명은 수많은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성에서 동작된다. 컴퓨팅 시스템 환경은 본 발명의 사용 또는 기능의 범위에 어떤 제한을 두기 위한 것을 아니다. 게다가, 컴퓨팅 시스템 환경은 예시적인 동작 환경에 예시된 하나의 컴포넌트 또는 그것들의 조합에 관한 임의의 종속성 또는 요청을 갖는 것으로 해석되서는 안된다. 본 발명과 함께 사용되기 적절할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예는 개인용 컴퓨터, 서버 컴퓨터, 핸드핼드 또는 랩탑 장치, 마이크로프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 상자, 프로그램가능 전자 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이에 한정된 것은 아니다.
본 발명은 하나 이상의 컴퓨터 또는 다른 장치들에 의해 실행되는, 프로그램 모듈과 같은, 컴퓨터 실행가능 명령어들의 일반적인 문맥으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정한 태스크들을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오프젝트, 컴포넌트 및 데이터 구조를 포함하지만, 이에 한정된 것은 아니다. 본 발명은 태스크들이 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환경에서도 구현될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 로밍 클라이언트 저장 매체 모두에 위치할 수 있다.
동작시에, 컴퓨터(130)는 도 5에 도시된 바와 같이 컴퓨터 실행가능 명령어를 실행하여, 검색 결과를 생성한다.
본 발명 또는 그것의 실시예(들)의 구성요소를 소개할 때, "한", "하나", "그" 및 "상기"란 용어는 하나 이상의 구성요소들이 있음을 의미하기 위한 것이다. "구성하다", "포함하다" 및 "갖는다"란 용어는 포함한다는 것을 의미하며, 리스트된 구성요소들 외에 추가적인 구성요소들이 있을 수 있음을 의미하기 위한 것이다.
상기의 관점에서, 본 발명의 몇몇 목표들이 달성되고 다른 이점들도 획득할 수 있음을 알 수 있을 것이다.
본 발명의 영역을 벗어나지 않는 구성 및 방법들 내에서 다양한 수정물들이 만들어질 수 있으며, 상기 설명에 포함되고 첨부된 도면들에 도시된 모든 것들은 예시적인 것일뿐 제한을 두기 위한 것은 아니다.
본 발명은 카테고리로 검색 엔진을 분산시키기 위한 시스템 및 방법을 제공 한다.

Claims (23)

  1. 검색 결과를 생성하는 방법으로서,
    하나 이상의 용어를 포함하는 검색 요청을 사용자로부터 수신하는 단계;
    상기 검색 요청의 상기 하나 이상의 용어에 관련 있을 수 있는 전자 문서들을 식별하기 위해, 상기 수신된 검색 요청의 함수로서 검색가능한 중앙 데이터 색인(searchable central data index)을 쿼리하는 단계 - 상기 색인은 복수의 전자 문서에 관련된 문서 데이터를 포함하고, 상기 문서 데이터는 상기 전자 문서들 각각에 관련된 하나 이상의 카테고리를 지정하며 상기 카테고리에 대해 상기 전자 문서들의 각각에 관련된 랭킹 값(ranking value)을 포함하고, 상기 랭킹 값은 상기 색인에 저장되며 특정한 카테고리에 대한 특정한 전자 문서의 관련성을 나타내고, 상기 색인은 상기 색인의 상기 전자 문서들 각각에 관련된 다양한 카테고리들에 속한 상기 문서 데이터를 분배함으로써 상기 문서 데이터를 조직화함(organizing) -;
    상기 하나 이상의 지정된 카테고리 각각에 대해 신뢰 레벨(confidence level)을 할당하는 단계;
    상기 쿼리하는 단계에 응답하여, 상기 검색 요청의 하나 이상의 용어에 대한 관련성에 기초하여, 단일 결과 페이지 상에 디스플레이될, 전자 문서들을 식별하는 검색 결과를 생성하는 단계 - 상기 생성된 검색 결과는 상기 전자 문서들 각각에 관련된 상기 랭킹 값 및 상기 하나 이상의 대응 카테고리의 상기 신뢰 레벨에 기초하여 상기 검색 요청의 상기 하나 이상의 용어에 대응하는 상기 색인으로부터 상기 다양한 카테고리들 내의 관련 전자 문서들을 포함함 -;
    상기 검색 결과에서 식별된 상기 전자 문서들 각각에 관련된 상기 지정된 하나 이상의 카테고리에 따라 상기 생성된 검색 결과를 분배하는 단계;
    상기 식별된 전자 문서들 각각에 관련된 상기 랭킹 값의 함수로서 상기 하나 이상의 카테고리에 따라 상기 쿼리의 상기 분배된 검색 결과를 소팅(sorting)하는 단계; 및
    상이한 카테고리들 내의 하나 이상의 상기 식별된 전자 문서가 단일 결과 페이지 상에서 상기 사용자에게 디스플레이되도록, 상기 사용자에게 상기 소팅된 결과를 디스플레이하는 단계
    를 포함하는 검색 결과 생성 방법.
  2. 제1항에 있어서, 상기 디스플레이하는 단계는 상기 랭킹 값의 함수로서 각각의 상기 상이한 카테고리들 내의 소정 개수의 식별된 전자 문서를 디스플레이하는 단계를 포함하는 검색 결과 생성 방법.
  3. 제2항에 있어서, 상기 디스플레이하는 단계는 상이한 카테고리들의 총 개수 및 각각의 상기 상이한 카테고리들 내의 상기 식별된 전자 문서들 각각에 대한 상기 랭킹 값 둘다의 함수로서 상기 소팅된 결과를 디스플레이하는 단계를 포함하는 검색 결과 생성 방법.
  4. 제2항에 있어서, 상기 디스플레이하는 단계는 상기 소팅된 결과를 그룹별로 디스플레이하는 단계를 포함하고,
    각각의 그룹은 특정한 카테고리에 대응하고, 각각의 그룹은 상기 특정한 카테고리 내의 상기 식별된 전자 문서들 각각에 관련된 상기 랭킹 값에 기초하여, 내림차순으로, 상기 특정한 카테고리 내의 상기 식별된 전자 문서들의 설명을 열거하는 검색 결과 생성 방법.
  5. 제1항에 있어서, 상기 전자 문서들 각각은 웹 페이지 및 멀티미디어 파일 중 하나 이상을 포함하는 검색 결과 생성 방법.
  6. 제1항에 있어서, 상기 검색가능한 중앙 데이터 색인을 쿼리하는 단계는 상기 상이한 카테고리들에 관련된 광고 데이터를 리트리브(retrieve)하기 위해, 제3자 데이터 소스(source)를 쿼리하는 단계를 더 포함하고,
    상기 소팅된 결과를 디스플레이하는 단계는 상기 식별된 전자 문서들의 상기 상이한 카테고리들에 대해 상기 리트리브된 광고 데이터를 디스플레이하는 단계를 더 포함하는 검색 결과 생성 방법.
  7. 검색 결과를 생성하기 위한 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 기록 매체로서,
    사용자로부터 검색 요청을 수신하기 위한 검색 형태 컴포넌트;
    상기 검색 요청에 관련 있을 수 있는 전자 문서들을 식별하기 위해, 상기 수신된 검색 요청의 함수로서 검색가능한 중앙 데이터 색인을 쿼리하고 상기 쿼리의 결과를 소팅하기 위한 검색 엔진 컴포넌트 - 상기 색인은 복수의 전자 문서들에 관련된 문서 데이터를 포함하고, 상기 문서 데이터는 상기 전자 문서들 각각에 관련된 하나 이상의 카테고리를 지정하며, 상기 색인은 상기 색인의 상기 전자 문서들 각각에 관련된 다양한 카테고리들에 속한 상기 문서 데이터를 분배함으로써 상기 문서 데이터를 조직화하고, 상기 검색 엔진 컴포턴트는 상기 하나 이상의 지정된 카테고리 각각에 대해 신뢰 레벨을 할당하며, 상기 쿼리의 결과는 상기 식별된 전자 문서들에 관련된 상기 하나 이상의 카테고리의 함수로서 분배되고 소팅되며, 상기 분배되고 소팅된 결과에 관련된 상기 지정된 하나 이상의 카테고리는 상기 검색 결과에서 식별된 상기 전자 문서들에 의해 결정되며, 상기 생성된 검색 결과는 상기 전자 문서들 각각에 관련된 랭킹 값 및 상기 하나 이상의 대응 카테고리의 상기 신뢰 레벨에 기초하여 상기 검색 요청의 상기 하나 이상의 용어에 대응하는 상기 색인으로부터 상기 다양한 카테고리들 내의 관련 전자 문서들을 포함함 -;
    상이한 카테고리들 내의 하나 이상의 상기 식별된 전자 문서가 단일 페이지 상에서 상기 사용자에게 디스플레이되도록, 상기 사용자에게 상기 소팅된 결과를 디스플레이하기 위한 사용자 인터페이스 컴포넌트 - 상기 사용자 인터페이스 컴포넌트는 상기 생성된 검색 결과의 카테고리, 상기 생성된 검색 결과의 카테고리를 상위 레벨 카테고리 및 상기 생성된 검색 결과의 하위 카테고리 중 하나에 따라 상기 검색 결과를 상기 사용자에게 디스플레이하고, 관심있는 카테고리 내의 검색 결과를 상기 사용자에게 보여주기 위해 상기 검색 결과를 선택적으로 줄이거나 카테고리를 걸러냄 -
    를 포함하는 컴퓨터 판독가능 기록 매체.
  8. 제7항에 있어서, 상기 문서 데이터는 상기 하나 이상의 카테고리에 대해 상기 전자 문서들 각각에 관련된 랭킹 값을 포함하고, 상기 랭킹 값은 상기 색인에 저장되며 특정한 카테고리에 대한 특정한 전자 문서의 관련성을 나타내고, 상기 사용자 인터페이스 컴포넌트는 상기 랭킹 값의 함수로서 각각의 상기 상이한 카테고리들 내의 소정 개수의 식별된 전자 문서를 디스플레이하도록 구성된, 컴퓨터 판독가능 기록 매체.
  9. 제8항에 있어서, 상기 사용자 인터페이스 컴포넌트는 상이한 카테고리들의 총 개수 및 각각의 상기 상이한 카테고리들 내의 상기 식별된 전자 문서들 각각에 대한 상기 랭킹 값 둘다의 함수로서 상기 소팅된 결과들을 디스플레이하도록 더 구성된 컴퓨터 판독가능 기록 매체.
  10. 제8항에 있어서, 상기 사용자 인터페이스 컴포넌트는 상기 소팅된 결과를 그룹별로 디스플레이하도록 더 구성되고,
    각각의 그룹은 특정한 카테고리에 대응하고, 각각의 그룹은 상기 특정한 카테고리 내의 상기 식별된 전자 문서들 각각에 관련된 상기 랭킹 값에 기초하여, 내림차순으로, 상기 특정한 카테고리 내의 상기 식별된 전자 문서들의 설명을 열거하는 컴퓨터 판독가능 기록 매체.
  11. 제7항에 있어서, 상기 검색 엔진 컴포넌트는 상기 상이한 카테고리들에 관련된 광고 데이터를 리트리브하기 위해, 제3자 데이터 소스를 쿼리하도록 더 구성되고, 상기 사용자 인터페이스 컴포넌트는 상기 식별된 전자 문서들의 상기 상이한 카테고리들에 대해 상기 리트리브된 광고 데이터를 디스플레이하도록 더 구성된 컴퓨터 판독가능 기록 매체.
  12. 클라이언트를 통해 검색 요청을 생성하는 사용자로부터 수신된 검색 요청에 응답하여 검색 결과를 생성하기 위한 시스템으로서,
    상기 클라이언트를 통해 상기 사용자로부터 상기 검색 요청을 수신하기 위한 제1 서버 - 상기 제1 서버는 통신 네트워크를 통해 상기 클라이언트에 연결됨 -; 및
    복수의 전자 문서들에 관련된 문서 데이터를 포함하는 색인 - 상기 문서 데이터는 상기 전자 문서들 각각에 관련된 하나 이상의 카테고리를 지정하고, 상기 색인은 상기 색인의 상기 전자 문서들 각각에 관련된 다양한 카테고리들에 속한 상기 문서 데이터를 분배함으로써 상기 문서 데이터를 조직화함 -
    을 포함하고,
    상기 제1 서버는 상기 하나 이상의 지정된 카테고리 각각에 대해 신뢰 레벨을 할당하며,
    상기 제1 서버는 상기 검색 요청에 관련 있을 수 있는 전자 문서들을 식별하기 위해, 상기 수신된 검색 요청의 함수로서 상기 색인을 쿼리하고 상기 쿼리의 결과를 소팅하도록 구성되며, 상기 쿼리의 결과는 상기 지정된 하나 이상의 카테고리에 따라 분배되고, 상기 지정된 하나 이상의 카테고리는 상기 결과들에서 식별된 상기 전자 문서들에 의해 결정되며, 상기 쿼리의 결과는, 상이한 카테고리들 내의 하나 이상의 상기 식별된 전자 문서가 단일 페이지 상에서 상기 사용자에게 디스플레이되도록, 상기 클라이언트에 있는 상기 사용자에게 디스플레이하기 위해, 상기 식별된 전자 문서들에 관련된 상기 하나 이상의 카테고리의 함수로서 소팅되고,
    상기 생성된 검색 결과들은 상기 전자 문서들 각각에 관련된 랭킹 값 및 상기 하나 이상의 대응 카테고리의 상기 신뢰 레벨에 기초하여 상기 검색 요청의 상기 하나 이상의 용어에 대응하는 상기 색인으로부터 상기 다양한 카테고리들 내의 관련 전자 문서들을 포함하는 시스템.
  13. 제12항에 있어서, 상기 문서 데이터는 상기 하나 이상의 카테고리에 대해 상기 전자 문서들 각각에 관련된 랭킹 값을 포함하고, 상기 랭킹 값은 상기 색인에 저장되며 특정한 카테고리에 대한 특정한 전자 문서의 관련성을 나타내며, 각각의 상기 상이한 카테고리들 내의 소정 개수의 식별된 전자 문서는 랭킹 값의 함수로서 디스플레이되는 시스템.
  14. 제13항에 있어서, 상기 소팅된 결과는 상이한 카테고리들의 총 개수 및 각각의 상기 상이한 카테고리들 내의 상기 식별된 전자 문서들 각각에 대한 상기 랭킹 값 둘다의 함수로서 디스플레이되는 시스템.
  15. 제13항에 있어서, 상기 소팅된 결과는 그룹별로 디스플레이되고,
    각각의 그룹은 특정한 카테고리에 대응하고, 상기 특정한 카테고리 내의 상기 식별된 전자 문서들 각각에 관련된 상기 랭킹 값에 기초하여, 내림차순으로, 상기 특정한 카테고리 내의 상기 식별된 전자 문서들의 설명을 열거하는 시스템.
  16. 제12항에 있어서, 상기 제1 서버는 상기 사용자로부터 상기 검색 요청을 수신하기 위해, 상기 클라이언트에게 웹 서식(web form)을 제공하도록 구성된 시스템.
  17. 제12항에 있어서, 상기 제1 서버는 상기 상이한 카테고리들에 관련된 광고 데이터를 리트리브하기 위해, 제3자 데이터 소스를 쿼리하도록 더 구성되고, 상기 리트리브된 광고 데이터는 상기 식별된 전자 문서들의 상기 상이한 카테고리들에 대해 디스플레이되는 시스템.
  18. 제12항에 있어서, 상기 색인에 포함된 상기 문서 데이터는 파티션(partition)되고 저장을 위해 복수의 하부 색인들에 전송되며, 상기 복수의 하부 색인 각각은 복수의 계열 서버(affiliate server) 상에서 유지되고, 상기 제1 서버는 상기 수신된 검색 요청에 응답하여 상이한 카테고리들 내에서 하나 이상의 전자 문서들을 식별하기 위해 상기 복수의 하부 색인들 중 적어도 하나를 쿼리하는 시스템.
  19. 제1항에 있어서,
    상기 수신하는 단계, 상기 쿼리하는 단계, 상기 할당하는 단계, 상기 생성하는 단계, 상기 분배하는 단계, 상기 소팅하는 단계 및 상기 디스플레이하는 단계와 함께,
    검색가능한 데이터 구조가 저장되어 있는 하나 이상의 컴퓨터 기록 매체를 사용하는 단계를 더 포함하며,
    상기 데이터 구조는,
    네트워크 상에 위치한 전자 문서에 관련된 중앙 검색 엔진 색인 용어를 나타내는 데이터를 저장하기 위한 제1 필드 - 상기 색인 용어는 상기 전자 문서에 포함됨 -;
    상기 전자 문서에 대응하는 문서 카테고리를 나타내는 데이터를 저장하기 위한 제2 필드 - 상기 제2 필드의 상기 저장된 데이터는 상기 문서 카테고리에 대한 문서 신뢰 레벨을 포함함 -; 및
    상기 네트워크 상에서의 상기 전자 문서에 대응하는 위치를 나타내는 데이터를 저장하기 위한 제3 필드
    를 포함하고,
    하나 이상의 문서 카테고리가 상기 색인 용어에 관련되도록 상기 제2 필드에 포함된 상기 문서 데이터는 상기 제1 필드에 따라 색인되고, 상기 데이터 구조는 다양한 문서 카테고리에 속하는 전자 문서들을 분배하며, 상기 전자 문서들의 하나 이상의 위치가 상기 하나 이상의 카테고리 각각에 관련되도록 상기 제3 필드에 포함된 문서 데이터는 상기 제2 필드에 따라 색인되고,
    검색 요청의 쿼리에 응답하여, 상기 전자 문서를 나타내는 상기 제3 필드의 상기 저장된 데이터는 상기 검색 요청의 상기 쿼리에 대해 결합된 관련성에 기초하여 단일 결과 페이지 상에 디스플레이되고, 상기 저장된 데이터는 상기 중앙 검색 엔진 색인 용어를 나타내며, 상기 문서 카테고리의 상기 문서 신뢰 레벨은 상기 색인에 관련되는 검색 결과 생성 방법.
  20. 제19항에 있어서, 상기 데이터 구조는 상기 전자 문서에 관련된 문서 랭킹 값을 나타내는 제4 필드를 포함하고, 상기 문서 랭킹 값은 특정한 문서 카테고리에 대한 특정한 전자 문서의 관련성을 나타내고, 하나 이상의 레이팅(rating)이 상기 특정한 문서 카테고리에 관련된 각각의 전자 문서에 관련되도록, 상기 제4 필드 내에 포함된 문서 데이터는 상기 제3 필드에 따라 색인되는 검색 결과 생성 방법.
  21. 제19항에 있어서, 어플리케이션은 상기 제1 필드에 저장된 상기 색인 용어가 상기 수신된 검색 요청에 지정된 쿼리 데이터와 매치하는지를 결정하기 위해 상기 색인을 검색하기 위한 검색 요청을 수신하도록 구성되고, 상기 제1 필드에 저장된 상기 색인 용어가 상기 쿼리 데이터와 매치하는 경우, 상기 어플리케이션은 상기 제2 필드에 저장된 대응하는 문서 카테고리를 식별하고 상기 제3 필드에 저장된 대응하는 문서 위치를 식별하도록 더 구성되고, 상기 어플리케이션은 상기 사용자에게 식별된 문서 위치를 포함하는 검색 결과를 제공하고, 상기 검색 결과는 상기 검색 결과들에서 식별된 상기 전자 문서에 관련된 상기 제2 필드에 저장된 상기 대응하는 문서 카테고리에 따라 카테고리에 의해 그룹화되는 검색 결과 생성 방법.
  22. 제21항에 있어서, 상기 데이터 구조는 알려진 전자 문서에 관련된 요약 설명을 나타내는 제5 필드를 더 포함하고, 상기 어플리케이션에 의해 상기 사용자에게 제공된 상기 그룹화된 검색 결과들은 상기 전자 문서에 관련된 상기 요약 설명을 포함하는 검색 결과 생성 방법.
  23. 제19항에 있어서, 상기 문서 데이터는 하이퍼텍스트 전송 프로토콜(HTTP) 헤더 내의 데이터, 메타태그(meta tag), 확장성 마크업 언어(XML) 데이터 및 리소스 설명 프레임워크 (RDF) 데이터 중 하나 이상을 더 포함하는 검색 결과 생성 방법.
KR1020050057763A 2004-07-01 2005-06-30 페이지 카테고리 정보를 이용하여 검색 엔진 결과를분배하는 방법 KR101183312B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/883,460 US7428530B2 (en) 2004-07-01 2004-07-01 Dispersing search engine results by using page category information
US10/883,460 2004-07-01

Publications (2)

Publication Number Publication Date
KR20060048765A KR20060048765A (ko) 2006-05-18
KR101183312B1 true KR101183312B1 (ko) 2012-09-17

Family

ID=34979176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050057763A KR101183312B1 (ko) 2004-07-01 2005-06-30 페이지 카테고리 정보를 이용하여 검색 엔진 결과를분배하는 방법

Country Status (8)

Country Link
US (1) US7428530B2 (ko)
EP (1) EP1612704A1 (ko)
JP (1) JP2006018843A (ko)
KR (1) KR101183312B1 (ko)
CN (1) CN1716255B (ko)
BR (1) BRPI0502537A (ko)
CA (1) CA2511098C (ko)
MX (1) MXPA05007079A (ko)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396824B2 (en) 1998-05-28 2013-03-12 Qps Tech. Limited Liability Company Automatic data categorization with optimally spaced semantic seed terms
US7711672B2 (en) 1998-05-28 2010-05-04 Lawrence Au Semantic network methods to disambiguate natural language meaning
US6883135B1 (en) * 2000-01-28 2005-04-19 Microsoft Corporation Proxy server using a statistical model
US10296919B2 (en) 2002-03-07 2019-05-21 Comscore, Inc. System and method of a click event data collection platform
US20080189408A1 (en) 2002-10-09 2008-08-07 David Cancel Presenting web site analytics
US8095589B2 (en) 2002-03-07 2012-01-10 Compete, Inc. Clickstream analysis methods and systems
US7640267B2 (en) 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US7403939B1 (en) 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US7584221B2 (en) * 2004-03-18 2009-09-01 Microsoft Corporation Field weighting in text searching
US8775436B1 (en) 2004-03-19 2014-07-08 Google Inc. Image selection for news search
US7716216B1 (en) 2004-03-31 2010-05-11 Google Inc. Document ranking based on semantic distance between terms in a document
CA2564681C (en) * 2004-04-26 2015-09-22 Bruce H. Johnson Methods and systems for dynamically composing distributed interactive applications from high-level programming languages
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US7519595B2 (en) * 2004-07-14 2009-04-14 Microsoft Corporation Method and system for adaptive categorial presentation of search results
US7921226B2 (en) * 2004-07-20 2011-04-05 Alcatel-Lucent Usa Inc. User specific request redirection in a content delivery network
US7873622B1 (en) 2004-09-02 2011-01-18 A9.Com, Inc. Multi-column search results interface
US8341143B1 (en) 2004-09-02 2012-12-25 A9.Com, Inc. Multi-category searching
GB2418108B (en) 2004-09-09 2007-06-27 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
GB2418999A (en) * 2004-09-09 2006-04-12 Surfcontrol Plc Categorizing uniform resource locators
GB2418037B (en) * 2004-09-09 2007-02-28 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
US20060059225A1 (en) * 2004-09-14 2006-03-16 A9.Com, Inc. Methods and apparatus for automatic generation of recommended links
US7606793B2 (en) 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7739277B2 (en) 2004-09-30 2010-06-15 Microsoft Corporation System and method for incorporating anchor text into ranking search results
US7761448B2 (en) 2004-09-30 2010-07-20 Microsoft Corporation System and method for ranking search results using click distance
US7827181B2 (en) 2004-09-30 2010-11-02 Microsoft Corporation Click distance determination
US7716198B2 (en) * 2004-12-21 2010-05-11 Microsoft Corporation Ranking search results using feature extraction
US7349896B2 (en) * 2004-12-29 2008-03-25 Aol Llc Query routing
US7818314B2 (en) * 2004-12-29 2010-10-19 Aol Inc. Search fusion
US7272597B2 (en) * 2004-12-29 2007-09-18 Aol Llc Domain expert search
US9760629B1 (en) * 2004-12-29 2017-09-12 Google Inc. Systems and methods for implementing a news round table
US8510325B1 (en) * 2004-12-30 2013-08-13 Google Inc. Supplementing search results with information of interest
US7792833B2 (en) 2005-03-03 2010-09-07 Microsoft Corporation Ranking search results using language types
WO2006107141A1 (en) * 2005-03-04 2006-10-12 Chutnoon Inc. Server, method and system for providing information search service by using sheaf of pages
US8019749B2 (en) * 2005-03-17 2011-09-13 Roy Leban System, method, and user interface for organizing and searching information
JP4368336B2 (ja) * 2005-07-13 2009-11-18 富士通株式会社 カテゴリ設定支援方法及び装置
US9105028B2 (en) 2005-08-10 2015-08-11 Compete, Inc. Monitoring clickstream behavior of viewers of online advertisements and search results
US8849830B1 (en) * 2005-10-14 2014-09-30 Wal-Mart Stores, Inc. Delivering search results
US20070094242A1 (en) * 2005-10-26 2007-04-26 John Dove System and method for returning search results
US20070174257A1 (en) * 2006-01-18 2007-07-26 Bruce Thomas Howard Systems and methods for providing sorted search results
US7584183B2 (en) * 2006-02-01 2009-09-01 Yahoo! Inc. Method for node classification and scoring by combining parallel iterative scoring calculation
US8020206B2 (en) 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US8615800B2 (en) 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
JP2010506308A (ja) * 2006-10-03 2010-02-25 キューピーエス テック. リミテッド ライアビリティ カンパニー カテゴリ化によるホスト・コンテンツとゲスト・コンテンツの自動マッチングのための機構
US9654495B2 (en) * 2006-12-01 2017-05-16 Websense, Llc System and method of analyzing web addresses
US7822734B2 (en) * 2006-12-12 2010-10-26 Yahoo! Inc. Selecting and presenting user search results based on an environment taxonomy
US20080147631A1 (en) * 2006-12-14 2008-06-19 Dean Leffingwell Method and system for collecting and retrieving information from web sites
US20080147641A1 (en) * 2006-12-14 2008-06-19 Dean Leffingwell Method for prioritizing search results retrieved in response to a computerized search query
US20080147578A1 (en) * 2006-12-14 2008-06-19 Dean Leffingwell System for prioritizing search results retrieved in response to a computerized search query
US20080155426A1 (en) * 2006-12-21 2008-06-26 Microsoft Corporation Visualization and navigation of search results
GB2445764A (en) * 2007-01-22 2008-07-23 Surfcontrol Plc Resource access filtering system and database structure for use therewith
KR100771577B1 (ko) * 2007-02-16 2007-10-30 드림아이 커뮤니케이션즈(주) 웹페이지 접속 이력정보 관리방법
US8015174B2 (en) * 2007-02-28 2011-09-06 Websense, Inc. System and method of controlling access to the internet
US7698344B2 (en) * 2007-04-02 2010-04-13 Microsoft Corporation Search macro suggestions relevant to search queries
US8768932B1 (en) * 2007-05-14 2014-07-01 Google Inc. Method and apparatus for ranking search results
GB0709527D0 (en) 2007-05-18 2007-06-27 Surfcontrol Plc Electronic messaging system, message processing apparatus and message processing method
US8019760B2 (en) * 2007-07-09 2011-09-13 Vivisimo, Inc. Clustering system and method
US9268856B2 (en) * 2007-09-28 2016-02-23 Yahoo! Inc. System and method for inclusion of interactive elements on a search results page
US20090094210A1 (en) * 2007-10-05 2009-04-09 Fujitsu Limited Intelligently sorted search results
US8145660B2 (en) 2007-10-05 2012-03-27 Fujitsu Limited Implementing an expanded search and providing expanded search results
US20090094211A1 (en) * 2007-10-05 2009-04-09 Fujitsu Limited Implementing an expanded search and providing expanded search results
US7840569B2 (en) 2007-10-18 2010-11-23 Microsoft Corporation Enterprise relevancy ranking using a neural network
US9348912B2 (en) 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US20090199115A1 (en) * 2008-01-31 2009-08-06 Vik Singh System and method for utilizing tiles in a search results page
US8219544B2 (en) * 2008-03-17 2012-07-10 International Business Machines Corporation Method and a computer program product for indexing files and searching files
US20090248669A1 (en) * 2008-04-01 2009-10-01 Nitin Mangesh Shetti Method and system for organizing information
US8812493B2 (en) 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US8051083B2 (en) * 2008-04-16 2011-11-01 Microsoft Corporation Forum web page clustering based on repetitive regions
US9405831B2 (en) * 2008-04-16 2016-08-02 Gary Stephen Shuster Avoiding masked web page content indexing errors for search engines
US7949643B2 (en) * 2008-04-29 2011-05-24 Yahoo! Inc. Method and apparatus for rating user generated content in search results
US8112404B2 (en) * 2008-05-08 2012-02-07 Microsoft Corporation Providing search results for mobile computing devices
US20090300012A1 (en) * 2008-05-28 2009-12-03 Barracuda Inc. Multilevel intent analysis method for email filtration
US8364693B2 (en) * 2008-06-13 2013-01-29 News Distribution Network, Inc. Searching, sorting, and displaying video clips and sound files by relevance
CA2729158A1 (en) 2008-06-30 2010-01-07 Websense, Inc. System and method for dynamic and real-time categorization of webpages
CN101661594A (zh) * 2008-08-28 2010-03-03 阿里巴巴集团控股有限公司 一种在互联网上提供对象信息的方法及系统
US8407202B2 (en) * 2008-10-06 2013-03-26 At&T Intellectual Property I, L.P. Embedded business metadata
US20100121790A1 (en) * 2008-11-13 2010-05-13 Dennis Klinkott Method, apparatus and computer program product for categorizing web content
US20100121842A1 (en) * 2008-11-13 2010-05-13 Dennis Klinkott Method, apparatus and computer program product for presenting categorized search results
CN101770481B (zh) * 2008-12-31 2013-12-25 北京联想软件有限公司 搜索终端装置、搜索方法
KR101020007B1 (ko) * 2009-03-27 2011-03-09 조광현 시맨틱 정보를 활용한 직답형 검색 시스템 및 검색 방법
US8185544B2 (en) * 2009-04-08 2012-05-22 Google Inc. Generating improved document classification data using historical search results
WO2010120934A2 (en) 2009-04-15 2010-10-21 Evri Inc. Search enhanced semantic advertising
WO2010120925A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Search and search optimization using a pattern of a location identifier
US8200617B2 (en) 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
US9069808B2 (en) * 2009-05-20 2015-06-30 International Business Machines Corporation Indexing provenance data and evaluating provenance data queries in data processing systems
EP2443580A1 (en) 2009-05-26 2012-04-25 Websense, Inc. Systems and methods for efficeint detection of fingerprinted data and information
US8583673B2 (en) * 2009-08-17 2013-11-12 Microsoft Corporation Progressive filtering of search results
CA2785250A1 (en) * 2009-12-23 2011-06-30 One Person Health Inc. Method, system, and article of manufacture for generating ad groups for on-line advertising
JP2011138197A (ja) * 2009-12-25 2011-07-14 Sony Corp 情報処理装置、関連度評価方法及びプログラム
US8421766B2 (en) 2010-02-12 2013-04-16 Acer Incorporated Visualized information conveying system
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8306964B2 (en) * 2010-07-20 2012-11-06 Microsoft Corporation Extraction of rich search information from index servers via an alternative asynchronous data path
US9043306B2 (en) * 2010-08-23 2015-05-26 Microsoft Technology Licensing, Llc Content signature notification
US9262474B2 (en) * 2010-09-30 2016-02-16 Microsoft Technology Licensing, Llc Dynamic domain query and query translation
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
CN102480524B (zh) * 2010-11-26 2014-09-10 中国科学院声学研究所 一种网页爬虫协作方法
US8843507B2 (en) 2011-03-28 2014-09-23 Microsoft Corporation Serving multiple search indexes
US9589056B2 (en) 2011-04-05 2017-03-07 Microsoft Technology Licensing Llc User information needs based data selection
CN102207963A (zh) * 2011-05-30 2011-10-05 何吴迪 一种云计算视窗平台的搜索后即时智能导航技术方法
US8560509B2 (en) * 2011-07-08 2013-10-15 Microsoft Corporation Incremental computing for web search
CN102236719A (zh) * 2011-07-25 2011-11-09 西交利物浦大学 基于网页分类的网页搜索引擎及快速查找方法
US8799263B2 (en) 2011-09-04 2014-08-05 Leigh M Rothschild Systems, devices, and methods for providing multidimensional search results
US9189563B2 (en) 2011-11-02 2015-11-17 Microsoft Technology Licensing, Llc Inheritance of rules across hierarchical levels
US9558274B2 (en) * 2011-11-02 2017-01-31 Microsoft Technology Licensing, Llc Routing query results
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
US9900395B2 (en) 2012-01-27 2018-02-20 Comscore, Inc. Dynamic normalization of internet traffic
US8954580B2 (en) 2012-01-27 2015-02-10 Compete, Inc. Hybrid internet traffic measurement using site-centric and panel data
US20130212089A1 (en) * 2012-02-10 2013-08-15 Google Inc. Search Result Categorization
JP5942508B2 (ja) * 2012-03-16 2016-06-29 株式会社リコー サーバ装置、検索方法及びプログラム
EP2657893A1 (en) * 2012-04-26 2013-10-30 Amadeus S.A.S. System and method of categorizing and ranking travel option search results
US9934224B2 (en) 2012-05-15 2018-04-03 Google Llc Document editor with research citation insertion tool
CN103577476B (zh) * 2012-08-06 2016-06-08 腾讯科技(深圳)有限公司 网页浏览记录的处理方法及网页浏览装置
US8965880B2 (en) * 2012-10-05 2015-02-24 Google Inc. Transcoding and serving resources
US20140109137A1 (en) * 2012-10-11 2014-04-17 Faisal Mushtaq Method and apparatus for user interaction with programs utilizing closed captioning data content
US9536001B2 (en) * 2012-11-13 2017-01-03 Microsoft Technology Licensing, Llc Intent-based presentation of search results
US9117054B2 (en) 2012-12-21 2015-08-25 Websense, Inc. Method and aparatus for presence based resource management
CN104021125B (zh) * 2013-02-28 2018-04-06 阿里巴巴集团控股有限公司 一种搜索引擎排序的方法、系统以及一种搜索引擎
CN104424233A (zh) * 2013-08-26 2015-03-18 联想(北京)有限公司 一种信息处理方法和装置
CN104468940B (zh) * 2013-09-15 2018-10-12 联想(北京)有限公司 电子设备的显示方法、显示装置及电子设备
US9507751B2 (en) * 2013-09-19 2016-11-29 Oracle International Corporation Managing seed data
CN104462138B (zh) * 2013-09-24 2018-10-26 腾讯科技(深圳)有限公司 一种媒介交互方法、装置和系统
JP2017505936A (ja) * 2013-12-02 2017-02-23 キューベース リミテッド ライアビリティ カンパニー インメモリデータベースをホストするシステム及び方法
US9996588B2 (en) 2013-12-09 2018-06-12 International Business Machines Corporation Managing a search
CN103995881B (zh) * 2014-05-28 2018-04-13 百度在线网络技术(北京)有限公司 搜索结果的展现方法及装置
CN106294436B (zh) * 2015-05-27 2019-09-20 富泰华工业(深圳)有限公司 网页评论分类方法、系统及网页管理装置
US20170270577A1 (en) * 2016-03-15 2017-09-21 Ebay Inc. Catalogue management
US10817519B2 (en) * 2016-06-06 2020-10-27 Baidu Usa Llc Automatic conversion stage discovery
US10346457B2 (en) 2016-07-27 2019-07-09 Microsoft Technology Licensing, Llc Platform support clusters from computer application metadata
US10387435B2 (en) 2016-07-27 2019-08-20 Microsoft Technology Licensing, Llc Computer application query suggestions
US10339148B2 (en) * 2016-07-27 2019-07-02 Microsoft Technology Licensing, Llc Cross-platform computer application query categories
US10949489B2 (en) 2016-08-31 2021-03-16 Gurunavi, Inc. Server, method, and storage medium for searching and displaying results
CN109446445B (zh) * 2018-10-23 2022-03-22 北京乐我无限科技有限责任公司 一种资源获取方法及装置
CN109284460A (zh) * 2018-11-02 2019-01-29 张康德 两种类型第三级的搜索方法及淘宝京东等改革
US11232166B2 (en) * 2019-01-17 2022-01-25 Salesforce.Com, Inc. Networked page access and addressing based on partial categorization indexing
KR102300185B1 (ko) * 2019-10-21 2021-09-09 주식회사 알에스엔 실시간 통합분석검색 시스템
CN111580881B (zh) * 2020-04-30 2023-06-16 支付宝(杭州)信息技术有限公司 文件加载方法、装置和电子设备
CN111666369B (zh) * 2020-05-22 2022-07-12 安徽省交通控股集团有限公司 一种基于桥梁的三维模型构件索引文档的方法
US11750371B1 (en) 2023-04-14 2023-09-05 Morgan Stanley Services Group Inc. Web domain correlation hashing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250925A (ja) 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd 文書検索・分類方法および装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4991094A (en) * 1989-04-26 1991-02-05 International Business Machines Corporation Method for language-independent text tokenization using a character categorization
CA2175187A1 (en) * 1993-10-28 1995-05-04 William K. Thomson Database search summary with user determined characteristics
JPH08235160A (ja) * 1995-02-22 1996-09-13 Canon Inc 文書検索方法及び装置
US5752025A (en) 1996-07-12 1998-05-12 Microsoft Corporation Method, computer program product, and system for creating and displaying a categorization table
EP0822502A1 (en) * 1996-07-31 1998-02-04 BRITISH TELECOMMUNICATIONS public limited company Data access system
US6233575B1 (en) * 1997-06-24 2001-05-15 International Business Machines Corporation Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values
US6389436B1 (en) * 1997-12-15 2002-05-14 International Business Machines Corporation Enhanced hypertext categorization using hyperlinks
JPH11249938A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 文書処理装置および同装置のデータ表示方法
US6334131B2 (en) * 1998-08-29 2001-12-25 International Business Machines Corporation Method for cataloging, filtering, and relevance ranking frame-based hierarchical information structures
US6678681B1 (en) 1999-03-10 2004-01-13 Google Inc. Information extraction from a database
US20030195872A1 (en) * 1999-04-12 2003-10-16 Paul Senn Web-based information content analyzer and information dimension dictionary
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
WO2001046870A1 (en) 1999-12-08 2001-06-28 Amazon.Com, Inc. System and method for locating and displaying web-based product offerings
US6963867B2 (en) * 1999-12-08 2005-11-08 A9.Com, Inc. Search query processing to provide category-ranked presentation of search results
US6701314B1 (en) 2000-01-21 2004-03-02 Science Applications International Corporation System and method for cataloguing digital information for searching and retrieval
WO2001055905A1 (en) 2000-01-28 2001-08-02 Websense, Inc. Automated categorization of internet data
US6615209B1 (en) 2000-02-22 2003-09-02 Google, Inc. Detecting query-specific duplicate documents
US6910029B1 (en) * 2000-02-22 2005-06-21 International Business Machines Corporation System for weighted indexing of hierarchical documents
US6631365B1 (en) * 2000-03-14 2003-10-07 Requisite Technology, Inc. Method and apparatus for analyzing the quality of the content of a database
US6529903B2 (en) 2000-07-06 2003-03-04 Google, Inc. Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
US7136854B2 (en) 2000-07-06 2006-11-14 Google, Inc. Methods and apparatus for providing search results in response to an ambiguous search query
US6687696B2 (en) * 2000-07-26 2004-02-03 Recommind Inc. System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models
AU2002220172A1 (en) 2000-11-15 2002-05-27 David M. Holbrook Apparatus and method for organizing and/or presenting data
US6658423B1 (en) 2001-01-24 2003-12-02 Google, Inc. Detecting duplicate and near-duplicate files
US6526440B1 (en) 2001-01-30 2003-02-25 Google, Inc. Ranking search results by reranking the results based on local inter-connectivity
US8001118B2 (en) 2001-03-02 2011-08-16 Google Inc. Methods and apparatus for employing usage statistics in document retrieval
US7188106B2 (en) * 2001-05-01 2007-03-06 International Business Machines Corporation System and method for aggregating ranking results from various sources to improve the results of web searching
JP4453229B2 (ja) * 2001-07-03 2010-04-21 日本電気株式会社 情報検索システム及び情報検索方法並びに情報検索プログラム
US6944609B2 (en) * 2001-10-18 2005-09-13 Lycos, Inc. Search results using editor feedback
US8117072B2 (en) * 2001-11-13 2012-02-14 International Business Machines Corporation Promoting strategic documents by bias ranking of search results on a web browser
CN1360267A (zh) * 2002-01-30 2002-07-24 北京大学 文件分类查找方法
US6993534B2 (en) * 2002-05-08 2006-01-31 International Business Machines Corporation Data store for knowledge-based data mining system
US20040003097A1 (en) * 2002-05-17 2004-01-01 Brian Willis Content delivery system
EP1367504B1 (en) * 2002-05-27 2008-04-16 Sap Ag Method and computer system for indexing structured documents
US20040049514A1 (en) 2002-09-11 2004-03-11 Sergei Burkov System and method of searching data utilizing automatic categorization
US20040249824A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Semantics-bases indexing in a distributed data processing system
US7424469B2 (en) * 2004-01-07 2008-09-09 Microsoft Corporation System and method for blending the results of a classifier and a search engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250925A (ja) 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd 文書検索・分類方法および装置

Also Published As

Publication number Publication date
US20060004717A1 (en) 2006-01-05
KR20060048765A (ko) 2006-05-18
BRPI0502537A (pt) 2006-02-14
CA2511098C (en) 2014-09-02
US7428530B2 (en) 2008-09-23
CN1716255A (zh) 2006-01-04
JP2006018843A (ja) 2006-01-19
EP1612704A1 (en) 2006-01-04
CN1716255B (zh) 2012-01-11
MXPA05007079A (es) 2006-02-13
CA2511098A1 (en) 2006-01-01

Similar Documents

Publication Publication Date Title
KR101183312B1 (ko) 페이지 카테고리 정보를 이용하여 검색 엔진 결과를분배하는 방법
US8276065B2 (en) System and method for classifying electronically posted documents
US7308464B2 (en) Method and system for rule based indexing of multiple data structures
US8990210B2 (en) Propagating information among web pages
US8700590B2 (en) Grouping multimedia and streaming media search results
US6983287B1 (en) Database build for web delivery
US8510339B1 (en) Searching content using a dimensional database
US6363377B1 (en) Search data processor
US20070143317A1 (en) Mechanism for managing facts in a fact repository
US20030135430A1 (en) Method and apparatus for classification
US20070271228A1 (en) Documentary search procedure in a distributed system
JP2010257453A (ja) サーチクエリデータを用いて文書にタグ付けするシステム
US20100332491A1 (en) Method and system for utilizing user selection data to determine relevance of a web document for a search query
EP2083364A1 (en) Method for retrieving a document, a computer-readable medium, a computer program product, and a system that facilitates retrieving a document
US20110208718A1 (en) Method and system for adding anchor identifiers to search results
Du A Web Meta-Search Engine

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7