4. 검색엔진에서 사용하는 연산자
(1) 부울 연산자
대부분의 검색엔진은 검색어들에 대해 AND, OR, NOT 의 논리연산을 제공하고 있으며, 검색엔진에 따라서 사용하는 기호는 다를 수 있다.
1) AND 연산자(=논리곱 연산)
두 개의 단어가 입력되었을 경우 두 단어를 동시에 모두 담고 있는 정보만을 검색한다. 주로 AND 와 & 기호를 사용한다.
예1) 한국 AND 월드컵
‘한국’이라는 단어와 ‘월드컵’ 이라는 단어를 동시에 포함하는 문서를 검색한다.
그림Ⅲ-26] AND 연산자를 이용한 검색 예
예2) Computer & Internet
‘Computer’라는 단어와 ‘Internet’ 이라는 단어를 동시에 포함하는 문서를 검색한다.
【검색예제】
우리 조상들이 후손들에게 남겨준 문화재중 댐공사로 수몰 당하는 문 화재도 많지만 위기를 모면한 문화재도 많다. 위기를 모면한 문화재 중에 삼국유 사의 저자인 일연스님의 탑과 비가 그 대표적인 예이다. 이 탑과 비는 고려 충렬 왕 21년(서기 1295년)에 인각사라는 절에 건립되었다. 이 탑과 비가 있는 행정 구역상 주소를 쓰시오.(URL이 아님)
▶검색엔진: 네이버
▶키워드 : 인각사&문화재
▶사이트 : http://research.kyungpook.or.kr/moonhoa/HTML/T11002.HTM
▶답 : 주소 : 군위군 고로면 화북리 612, 613의 3전
2) OR 연산자(=논리합 연산)
두 개의 단어가 입력되었을 경우 두 개의 단어를 모두 담고 있는 정보는 물론이고 둘 중 하나라도 담고 있는 정보를 찾는다. 주로 OR 과 | 기호를 사용하고 가끔씩 플러스 기호(+)를 사용한다.
예1) 한국 OR 월드컵
‘한국’이라는 단어와 ‘월드컵’ 이라는 단어 중 하나라도 포함하는 문서를 검색한다.
[그림Ⅲ-27] OR 연산자를 이용한 검색 예
예2) Computer | Internet
‘Computer’라는 단어와 ‘Internet’ 이라는 단어 중 하나라도 포함하는 문서를 검색한다.
【검색예제】
미국 메이저리그에 진출해 있는 야구선수 박찬호는 97년 14승을 거두었다. 그렇다면, 14번째 승리를 거두었던 경기 일자와 상대팀의 이름은?
▶ 검색엔진: 네이버
▶분류 : 신문
▶키워드 : 박찬호+14승 과거기사순
▶사이트 : 중앙일보 1997. 9. 24. 水 기사 .. 박찬호,14승 마침내 해냈다
▶답 : 1997. 9. 24. 샌디에이고 파드리스
3) NOT 연산자(=논리차 연산)
NOT 이후의 단어는 제외한 문서만 검색한다. 즉 연산자 앞쪽의 단어를 포함하되, 뒤쪽의 단어는 포함하지 않는 문서를 검색한다. 주로 NOT 과 마이너스(-)를 사용하며 ! 기호를 사용하기도 한다.
예1) Computer ! Internet
‘Computer’ 라는 단어가 존재하는 문서를 찾아 주되 ‘Internet’ 이라는 단어가 포함하는 문서를 제외하고 검색한다.
예2) 한국 NOT 월드컵
‘한국’이라는 단어가 존재하는 문서를 찾아 주되 ‘월드컵’ 이라는 단어가 포함하는 문서를 제외하고 검색한다.
[그림Ⅲ-28] NOT 연산자를 이용한 검색 예
4) 부울 연산자와 특수기호
(가) 검색엔진에 따라 AND, OR, NOT 뿐만 아니라 &, |, ! 등의 특수 문자를 사용하기도 한다.
(나) 일반적으로 &는 AND를, |는 OR을, !는 NOT을 의미한다. 이러한 용법을 사용하고 있는 검색엔진은 알타비스타의 Advance Search, 핫봇 등이 해당된다. 따라서 이들 검색엔진에서는 AND, OR, NOT은 물론이고 이들 대신 간단하게 &, |, ! 등을 사용할 수도 있다.
(다) AND, OR, NOT은 대소를 가리지 않고 사용할 수 있다. 따라서 AND, And, and 중 편리한 것을 사용할 수 있다.
(2) 연산 순위
(가) 검색엔진마다 조금의 차이가 있지만 대부분의 검색엔진들은 여러 가지 연산자를 혼용하여 검색식이 만들어 졌을 때 다음과 같은 우선 순위를 부여한다.
① 왼쪽에서 오른쪽으로
② OR 보다는 AND 조건이 먼저 검색된다.
(나) 우선 순위지정은 괄호를 사용한다
예) Paris AND (Korea OR Worldcup)
Korea나 Worldcup이 들어 있는 정보를 먼저 찾은 다음 그 중에서 Paris 라는 단어가 들어 있는 것만을 다시 간추리게 된다.
위의 식은 Paris AND Korea OR Paris AND Worldcup 과 같은 의미가 된다. 실제 심마니나 알타비스타의 Advance Search에 접속하게 되면 위의 두 가지 검색식을 입력하고 검색시작 단추를 누르게 되면 둘 다 동일한 결과가 나타나게 되는 것을 볼 수 있다.
[그림Ⅲ-29] 연산순위에 대한 검색 예
(다) 세계표준기구인 ISO는 데이터베이스에서 자료를 찾을 때 AND-OR- NOT 의 순서에 따라 검색이 진행 되도록 하고 있다.
(3) 어구 검색
연속해서 오는 두 개 이상의 단어를 하나의 단위로 취급하여 검색하는 것을 가리켜 어구검색, 어절검색, 구 검색, 구 기능이라 한다. 단체나 행사의 이름, 특정사건의 이름, 책이름 등은 대부분 두 개 이상의 단어로 이루어져 있는데, 이들을 어구로 설정하여 검색하면 좋다.
일반적으로 큰따옴표(” “)로 두 개 이상의 단어를 감싸주면 어구로 설정되며, 큰따옴표를 사용하지 않고 옵션메뉴를 통해 ‘phrase’ 등을 지정해주면 어구로 취급하는 엔진도 있다.
예) ‘나라 사랑’
‘나라’라는 단어와 ‘사랑’이라는 단어를 묶어 ‘나라 사랑’이라는 하나의 단어로 취급하여 문서를 검색한다.
[그림Ⅲ-30] 어구 검색을 이용한 “나라 사랑”의 검색 예
[그림Ⅲ-31] 어구 검색을 이용하지 않은 “나라 사랑”의 검색 예
(4) 인접 연산자
검색엔진에는 AND, OR, NOT 과 같은 부울 연산자 이외에도 키워드들의 위치를 참조하여 검색하는 NEAR나 ADJ, FOLLOWED BY 같은 연산자를 제공하기도 하는데, 이들을 가리켜 인접연산자 또는 위치 연산자라 한다.
일반적으로 NEAR 는 키워드의 순서에 관계없이 두 개의 키워드가 지정된 범위 안에 위치해 있는 것을 찾아 주며, ADJ와 FOLLOWED BY는 좌우 순서에 맞는 정보만을 찾아준다. 알타비스타의 Advance Search에서 NEAR를 지원하며, 웹크롤러는 NEAR나 ADJ를, 오픈텍스트는 NEAR와 FOLLOWED BY를 지원하고 있다.
1) 인접 연산자를 지원하는 국내의 검색엔진
국내의 검색엔진 중에는 한미르 (http://www.hanmir.com)와 네이버(http:// www.naver.com)가 인접연산자를 제공한다.
[그림Ⅲ-32] 웹크롤러에서 NEAR 연산자를 사용해 검색식을 입력한 모습
(가) 한미르는 { }와 [ ]라는 두 종류의 인접연산자를 제공한다.
순서에 관계없이 찾을 때는 두 개의 키워드를 중괄호{ }로 묶어주면 되고, 순서를 따져서 찾을 때는 대괄호[ ]로 묶어주면 된다.
(나) 네이버는 ~와 ^라는 두 종류의 연산자를 제공한다.
~는 두 개의 키워드가 위치한 순서를 따지지 않고 찾아주며, ^는 순서를 따져서 검색한다. 키워드가 위치한 거리는 ‘전자 ~3 컴퓨터’ 와 ‘전자 ^3 컴퓨터’ 등과 같이 ~나 ^뒤에 숫자를 표시해 주면 된다. 아무런 숫자를 지정하지 않으면 한 단어 내에 위치한 것을 찾는다.
예1) 전자 ~3 컴퓨터
‘전자’ 라는 단어와 ‘컴퓨터’ 라는 단어가 위치한 거리가 3이고 순서를 고려 하지 않고 문서를 검색한다.
[ 그림Ⅲ-33] 인접연산자를 사용한 검색 예 (비순서)