검색은 데이터 집합에서 목적에 맞는 항목을 찾아내는 절차다. 일상에서는 웹 문서나 목록에서 원하는 정보를 찾는 뜻으로 쓰이고, 컴퓨터 과학에서는 조건에 맞는 값, 문서, 경로를 찾아내는 의미로 넓어진다.[1][2]

1. 개요

검색은 대상의 존재 여부를 확인하는 단계와, 여러 후보 중에서 가장 알맞은 결과를 고르는 단계로 나눠 볼 수 있다. 색인카탈로그, 디렉토리는 이런 과정을 빠르게 만들기 위한 전통적인 장치다.[1][3]

공공 기록과 도서관 서비스에서는 국립중앙도서관처럼 분류 체계와 전자 검색이 함께 쓰인다. 문서가 많아질수록 메타데이터, 공개 범위, 질의 표현이 결과의 품질을 크게 좌우한다.[1][2]

2. 검색 알고리즘

알고리즘 수준에서 검색은 조건을 만족하는 원소를 찾는 문제다. 가장 단순한 선형 검색은 처음부터 차례로 확인하고, 정렬된 자료에서는 이진 검색이 범위를 절반씩 줄이며 탐색한다.[3][6]

어떤 방법을 택할지는 자료구조의 형태, 데이터의 정렬 여부, 응답 시간 요구에 따라 달라진다. 같은 검색이라도 배열, 목록, 트리, 그래프에서는 설계가 달라진다.[2][3]

3. 검색엔진과 정보 검색

정보검색은 대규모 문서 집합에서 질의에 맞는 정보를 찾는 분야다. 검색엔진은 자료를 수집하고, 색인을 만들고, 관련도에 따라 순위를 정해 결과를 보여 준다.[1][4][10]

검색 품질은 단순한 글자 일치보다 색인의 품질과 순위 산정 규칙에 더 크게 좌우된다. 그래서 같은 질의라도 검색어의 표현 방식, 문맥, 필터 조건에 따라 결과가 달라진다.[2][10]

4. 인공지능과 지식 기반 검색

인공지능에서 검색은 가능한 상태를 탐색하는 전략으로 나타난다. 에이전트는 선택 가능한 경로를 평가하고, 유망한 경로를 우선 확장하며, 가지치기와 휴리스틱으로 계산량을 줄인다.[5][8]

A* 알고리즘은 현재까지의 비용과 목표까지의 추정 비용을 함께 써서 경로를 찾는 대표적인 방법이다. 지도로봇공학처럼 이동 제약이 많은 환경에서 특히 유용하다.[5][9]

데이터 통합데이터베이스 설계가 잘 되어 있을수록 검색은 더 정확해진다. 서로 다른 출처의 용어와 구조를 맞춰 두면, 사용자는 한 번의 질의로 더 넓은 정보를 묶어서 볼 수 있다.[1][4]

5. 같이 보기

검색을 이해할 때는 정보 검색과 검색 엔진, 그리고 자료구조와 알고리즘을 함께 보면 좋다.[1][2]

6. 관련 문서

검색은 다음 문서들과도 이어진다.[3][4]

7. 인용 및 각주

[1] Llink.springer.com(새 탭에서 열림)

[2] 1101wiki.softlang.org(새 탭에서 열림)

[3] Wwww.csunplugged.org(새 탭에서 열림)

[4] Kkbpedia.org(새 탭에서 열림)

[5] Wwww.geeksforgeeks.org(새 탭에서 열림)

[6] Wwww.geeksforgeeks.org(새 탭에서 열림)

[7] Wwww.geeksforgeeks.org(새 탭에서 열림)

[8] Wwww.geeksforgeeks.org(새 탭에서 열림)

[9] Wwww.geeksforgeeks.org(새 탭에서 열림)

[10] Ppubmed.ncbi.nlm.nih.gov(새 탭에서 열림)