검색엔진의 부울 연산과 각종 검색식

검색엔진의 부울 연산과 각종 검색식

AND, OR, NOT으로 대표되는 부울 연산은 두 개 이상의 데이터 비교를 실시하는 것으로 프로그램 이론 중에서 가장 기본적인 알고리즘의 하나입니다. 따라서 검색엔진과 같은 데이터베이스에 있어서도 조건구문 처리의 기초가 되고 있습니다. 또한 이외의 특수한 검색식도 존재합니다.


데이터와 입력 항목의 비교 방법을 결정하는 부울 연산

AND, OR, NOT으로 대표되는 부울 연산은 두 개 이상의 데이터 비교를 실시하는 것으로, 프로그램 이론 중 가장 기본적인 알고리즘의 하나입니다. 따라서 검색 엔진과 같은 데이터베이스에 있어서도 조건 처리의 기초가 되고 있습니다. 이러한 조건을 포함한 검색 쿼리를 “검색식”이라고 합니다. 검색식이란 사용자를 위해 준비된 검색처리 조건식을 말합니다. 조건식은 검색 엔진의 숙명적인 단점인 검색 노이즈를 사용자의 손으로 배제하는 것으로, 대부분의 검색 엔진에서는 검색식을 차용하여 사용자에 의한 검색 조건의 지정을 가능하게 하고 있습니다.

검색 엔진에 의한 전문 검색에서는 검색 키워드와 일치하는 단어를 포함한 웹페이지를 찾고 결과를 표시합니다. 이 때, 키워드의 종류에 따라 매우 많은 웹페이지가 표시됩니다. 너무 많은 웹페이지가 표시되는 경우 사용자는 필요로 하는 정보가 게재 되어 있는 웹페이지를 골라내는 것이 곤란하게 됩니다. 검색식을 이용해 검색 조건을 추려내는 것으로, 목적 외의 웹페이지를 검색 결과에서 배제할 수 있습니다.

검색 엔진에서 사용할 수 있는 주요 검색식

검색 엔진에서 이용할 수 있는 검색식에는 주로 다음과 같은 것이 있습니다. 단, 검색 엔진에서 사용할 수 있는 검색식의 종류와 기술 방법은 다릅니다.

AND 검색

AND 검색은 검색 양식에 기술되는 모든 키워드와 일치하는 단어를 포함한 웹페이지를 검색합니다. 3개 이상의 단어를 지정하는 것도 가능하고, 많은 키워드를 기술해서 검색 결과를 추려낼 수 있습니다. 기본적으로는 간격을 두고 각각의 키워드를 설명하는 것만으로 처리되지만, 검색 엔진에 따라서는 단어 사이에 “and” 또는 “+”라는 연산자를 입력합니다.

 

NOT 검색

NOT 검색은 주요 키워드와 일치하는 단어를 포함한 웹페이지 중에서 특정 키워드에 일치하는 단어가 포함된 웹페이지만을 빼고 검색합니다. 3개 이상의 키워드를 지정하는 것도 가능하고 많은 키워드를 기술하여 검색 결과를 추릴 수 있습니다. 식으로는 검색 결과로부터 제외하고자 하는 키워드의 직전에 “not”연산자나 빼기 기호 “-”등의 식을 붙여 기술합니다. 예를 들어 Google에서 “올림픽”을 포함하며 “겨울”을 포함하지 않는 웹페이지를 검색하려면 “올림픽 – 동계”라고 입력합니다.

 

OR 검색

OR 검색은 여러 검색 키워드 중 하나와 일치하는 단어를 포함한 웹페이지를 검색합니다. 많은 키워드를 기술하여 검색 결과를 좁힐 수 있습니다. 검색식으로는 키워드와 키워드 사이에 “or”연산자를 입력합니다. 예를 들어, “건강 or 식사”는 “건강” 또는 “식사”라는 키워드를 검색합니다.

 

구문 검색

구문 검색은 2 개 이상의 단어로 이루어진 복합어를 그대로 모양의 키워드로 검색하는 방법입니다. 식으로는 따옴표 “문구”를 사용하여 “문구” 대로의 모양으로 단어가 나열되어 있는 웹페이지만 검색합니다.

 

기타

와일드 카드 “*”등을 이용하여 행하는 부분 일치 검색과 검색 키워드를 정규 표현으로 지정하는 정규 표현 검색, AND OR NOT 검색을 동시에 수행하는 복합 검색 등이 있습니다.

특수한 검색식과 연결 쿼리

검색 엔진별로 특수한 검색을 가능하게 하는 특별한 검색식을 준비하고 있는 것도 있습니다. 예를 들어 Google은 “link : URL”라고 하는 검색식을 이용하면 해당 URL에 대한 링크되어있는웹페이지를 표시 할 수 있습니다. 이러한 특수 검색 쿼리는 4종류의 검색 목적 중 “연결 검색 쿼리 (Connectivity queries)”라고 불리는 것입니다.

Google를 예로 하면 다음과 같은 것들이 있습니다.

site : 도메인명

site : Mrseo.kr

해당 도메인내의 페이지를 검색

 

cache : URL

cache : Mrseo.kr

페이지의 캐시를 표시

 

link : URL

link : Mrseo.kr

대상에 링크하고 있는 페이지 표시

 

related : URL

related : Mrseo.kr

대상 페이지와 유사한 페이지를 표시

 

info : URL

info : Mrseo.kr

페이지에 대한 각종 정보를 표시

 

allintitle : 문자열

allintitle : SEO

문자열을 title 요소에 포함 된 페이지를 검색

 

intitle : 문자열

intitle : seo 최적화

첫 단어를 title 요소에 포함하고 다음 단어 이후는 title 또는 그 이외의 요소에 포함하는 페이지를 검색

 

allintext : 문자열

allintext : seo

모든 키워드를 본문에 포함 된 페이지를 검색

 

intext : 문자열

intext : seo

본문 (title과 앵커 텍스트는 포함하지 않는다)에 키워드를 포함하는 페이지를 검색

 

allinurl : 문자열

allinurl : Mrseo

URL에 모든 키워드를 포함하는 페이지를 검색

 

inurl : 문자열

inurl : Mrseo

URL에 키워드를 포함하는 페이지를 검색

 

allinanchor : 문자열

allinanchor : 검색엔진 최적화

피 링크의 앵커 텍스트에 모든 키워드를 포함하는 페이지를 검색

 

inanchor : 문자열

inanchor : 검색엔진 최적화

피 링크의 앵커 텍스트에 키워드를 포함하는 페이지를 검색

구문 검색에서 완전 일치하는 페이지를 검색

구문 검색이란 여러 키워드로 검색 할 때 개별 단어에 완전 일치하는 것만을 찾는 검색 방식입니다. 하나의 문구나 인명·지명·인용문 등을 검색하는 경우나 정지 단어를 포함해서 검색하는 경우처럼, 입력한 단어와 완전히 일치하는 단어가 포함된 웹페이지만을 결과에 표시 하고싶은 경우 이용합니다. 대부분의 검색 엔진에서는 큰 따옴표 [“] 를 이용하여 [“검색어구”]와 같이 입력하는 것으로 검색 키워드가 그대로 글 안에 나열된 웹페이지만을 검색할 수 있습니다.

완전 일치형 검색 엔진을 제외하고 검색 엔진은 두 단어 이상으로 이루어진 검색어가 입력 된 경우 통상적으로는 형태소 분석에 의한 개별 단어로 분해한 다음 개별 단어에 의한 AND 검색을 합니다. 검색 결과는 그 단어를 모두 포함한 웹페이지가 표시되지만, 반드시 원래 검색어가 포함된 웹페이지만 표시하는 것은 아닙니다.

예를 들어, 검색폼에 “검색 엔진 최적화”를 입력한 경우 “검색/엔진/최적/화”라고 분해된 검색이 이루어지고, 해당 단어가 모두 포함된 웹페이지가 나타납니다. 즉 “자동차 엔진에 대해 검색 할 수 있는 사이트입니다. 브라우저는 IE6.0에 최적화되어 있습니다.” 등 입력한 단어와는 무관한 웹페이지도 나타날 수 있습니다.

그러나 검색폼에 “검색 엔진 최적화” 라고 검색어 전체를 큰 따옴표로 묶어 입력하면 검색 엔진 최적화라는 단어에 완전 일치하는 웹페이지만을 표시 할 수 있습니다.

또한 구문 검색은 검색어와 완전 일치하는 것을 검색하는 방법이기 때문에 일반 검색에서 무시되어 버린 Stopwords에 대해서도 검색 할 수 있습니다. 예를 들어, Google에서 [a pen ]이라는 단어를 검색해도 [a]는 무시하고 [pen]을 검색하는 것과 같은 결과가 표시됩니다. 하지만 [“a pen”] 등 인용 부호로 전체를 둘러싸고 문구 검색하는 것으로 확실한 [a pen]이 기술된 웹페이지를 검색 할 수 있습니다.

 

Comments

comments


답글 남기기

이메일 주소는 공개되지 않습니다.

1 + 14 =