소셜로그인 중단 안내

계정으로 로그인 기능이 2023년 11월 16일 중단되었습니다.

아이보스 계정이 사라지는 것은 절대 아니며, 계정의 이메일 주소를 이용해 로그인 하실 수 있습니다.

▶️ 자세한 공지사항 확인

현상황이 검색지수 재계산 중이라는 의미

2015.06.18 08:16

큰곰

조회수 8,697

댓글 2

우측 검색결과는 15/06/18 05:50 경이다.

 

물론 이 '참새' 나 '아침' 이란 검색어 뿐만 아니고 내 블로그에 있는 여러 글들에서도 이런 현상이 나타난다.

 

또 하나 특이한 것은

이런 화면을 보이다가도 똑같은 키워드 '참새' 에 대해 여러번 검색버튼을 누르거나 최신순/정확도순 을 번갈아 하거나 유사문서 포함/제외를 하거나...하여튼 질의에 변화를 주면 어느 순간에는 리스트를 정상적으로 출력하기도 한다는 것이다.

 

우선 이 문제는 아마도...

 

 

 

어떤 검색질의가 왔을 때 검색DB 로 요청을 보내고 응답이 1초 안에 오지 않으면 유저에게 모래시계를 주는 대신 '검색결과가 없다' 라고 출력해버리는 방식이거나 아니면 검색DB 의 부하가 일정 수준 이상이 되면 그 다음 요청에 대해 '없음' 을 리턴하도록, 그래서 서버의 부하가 계속 걷잡을 수 없이 증가되는 것을 방지하는 구현이거나....

 

한 것이지 실제로 데이타를 날려먹은 게 아니다.

즉 검색DB 서버가 현재 뭔가를 열심히 작업하고 있다는 추측...그게 어제 말한 검색지수 재계산 이란 소리다.

 


 

이를 이해하기 위해 대형서비스에서 검색서비스가 어떻게 구현되는지를 맛만 보자.

 

 


 

어? 참새 다시 등장 ㅎㅎ

위 검색결과 자체가 이미 저장되어 있다는 말이 무슨 말인가.

위 그림에서 맨 마지막

"날개 골절 때문에 조류 참새가 왔어요"

라는 제목의 글을 A라는 블로거의 예로 들어보자.

 

A 가 글을 올릴 때 네이버의 처리과정을 추상적으로 보면

메모리값,임시값,DB값을 얘기하면서 시스템 구성에 대해 조금 언급했기에 여기서는 검색결과를 이해하기 위한 키워드DB 에 대해서만 말하겠다.

 

그의 모든 텍스트는 단어로 분해된다.

날개/골절/때문/에/조류/참새/가/왔어요

가족/이/참새/를/데리고/함께~~~~~

나머지 본문 모두도 이런식으로 분해하는데 그 중 '참새' 와 '골절' 을 예로 들겠다.

(1)

'참새' 라는 단어가 위치한 본문의 앞뒤 x 바이트 길이를 뽑아낸다.

이는 검색결과 제목 바로 아래 나오는 본문의 일부 요약으로 사용된다. 

▶ 이를 타이핑을 줄이기 위해 아래 테이블에서 '요약출력' 이라 표현하는데 사실 이 요약내용 자체는 특별히 짧은 클러스트 단위로 포맷된(윈도우 기본은 아마 4096B 인데 이 데이타는 그리 길지 않으므로 128B 정도로 포맷된 )파일시스템에 별도저장하는데 그 블럭위치를 가리킨다.

(2)

이미지가 있다면 그 이미지의 썸네일도 만든다.

(3)

당연히 블로그이름,날짜,제목도 뽑는다.

위 3가지를 별도의 데이타로 만들어 키워드DB(이는 물론 내가 임의로 이름지은 DB다)에 저장한다.

그 모양은 다음과 같은 형식이 된다.

각 지수 또한 임의로 정한 것이며 이런 항목이 있다는 것 자체도 설명을 위한 가정일 뿐이다.

 

 

 

 키워드

 제목

 블로그

 요약출력

 키워드지수

 블로그지수

 컨텐츠지수

 검색지수

 참새

 날개 골절 때문에~

 가족의 사랑~

 154677800162

 75.361

 77

 80.000

 78.111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


이 상태, 그러니까 네이버가 블로그서비스를 한 후 오늘이 첫 날이라 '참새' 라는 단어를 사용한 문서를 A 가 최초로 등록했을 때 위와 같은 테이블 첫 줄이 생기는데 사실 엄밀히 말하면 키워드 '참새' 항목은 없다. 이 테이블 자체 이름이 참새이기 때문인데 그렇게 설명하면 조금 난해하게 받아들이는 사람도 있을 것이므로...

 

여기서 '참새' 로 검색을 딱 하면 테이블 한 줄을 추려서 출력해 주면 응답을 받은 쪽에서 HTML 로 만들어 유저에게 출력해 주는 것.

 

자....

누군가 게시물을 올릴 때마다 그 게시물을 단어로 낱낱이 뜯어서 그 단어 이름을 가진 테이블에 이런식으로 저장을 한다. 따라서 위 A 는 골절 이라는 테이블에도 위와 유사하게 등록된다.

 

 키워드

 제목

 블로그

 요약출력

 키워드지수

 블로그지수

 컨텐츠지수

 검색지수

 골절

 날개 골절 때문에~

 가족의 사랑~

 154677800163

 55.440

 77

 80.000

 64.432

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

참새와 비교해서 '요약출력' 위치가 다르다. 당연히 골절이란 단어가 포함된 앞뒤 구절이 다르기 때문.

 

좋다.

A 가 올린 글 중 모든 단어단위로 이런 테이블, 결국 국어/영어 사전의 모든 단어에 대해 이런 테이블이 만들어진다고 치면 이번엔 '참새' '골절' 두 단어로 검색했을 땐 어떻게 하느냐...

보통 우리가 생각할 수 있는 DB 서버는 테이블 2개를 조인하면 된다. 그런데 네이버는 초대형 서비스이므로 아마도 내가 설계한다면 모든 단어에 대해 만든 테이블은 1차로 유지하고 2차 테이블을 동적으로 또 만들 것 같다.

'참새 골절' 이란 테이블을 미리 만들어 놓지는 않지만 누군가 최초로 이를 검색할 때 테이블 조인을 하고 그 결과를 새로운 2차 테이블로 만든 뒤 다음부터 똑같이 참새 골절 이란 질문이 들어올 때 조인대신 이 2차테이블에서 그대로 뽑아 출력해 주는...이 2차 테이블 자체에도 타임스탬프를 둬서 그 뒤 '참새 골절' 로 1달 동안 아무도 검색을 하지 않는다면 테이블 자체가 삭제되도록 ...

이렇게 하면 자연스럽게 검색이 많은 것만 서버부하를 줄이면서 빠르게 응답할 수 있는데 네이버 내부 설계는 모르겠다.

 

 

키워드지수

물론 이것도 내 멋대로 정한 지수이다. 이걸 꼭 밝혀야겠거든 당신이 직접 네이버에 물어보든가...

위에 보면 같은 게시물에서 추려낸 단어 하나에도 지수가 다르다? 어?

솔직히 어제 이전까지는 네이버가 설마 이런 것까지 구현했을까...하는 생각을 하고 있었지만 지금 상황을 보니 키워드지수가 구현되어 있다는 쪽에 무게를 두게 된 것.

시스템이 기본적으로 텍스트를 분석해서 초기 점수를 부여할 수 있는데 이는 웹통계가 이미 있기 때문에 가능한 것이다. 즉 참새 와 골절이 과연 인간이 납득할 수 있는 문장구조 속에서 쓰였는지 아니면 랜덤단어조합 오토 프로그램으로 쓰였는지는 쉽게 구분이 가능하다.

(1)

'참새' 라는 단어가 사용된 웹통계 1만건 중 '골절' 이라는 단어가 함께 사용된 문서의 비율을 측정한다....일반적으로 참새의 특징이라든가 먹이 외모,귀염성 등을 다루는 단어는 많지만 골절을 사용하는 것은 비율이 떨어질 것이다.

문서의 모든 단어를 이런식으로 통계와 비교 후 이 문서가 '참새' 와 연관이 어느정도 있는 것인가를 프로그램이 자동으로 판단해 지수화한다.

이게 시스템 키워드지수 이다.

여기에는 물론 떠도는 소문과 같이 '참새' 라는 키워드가 본문에 몇 번이나 등장하는가도 영향을 준다.

(2)

위 시스템 키워드지수는 20% 밖에 안 된다.

나머지 80%는 유저반응통계로 동적으로 변한다.

즉 '골절' 로 검색한 후 바로 에이씨~X 가 많이 잡히면 블로그지수 마이너스도 먹지만 골절 이라는 키워드에는 부적절한 낚시성 게시물이라는 판단으로 골절 키워드지수에도 마이너스를 먹는다.

이렇게 되면 참새로는 1페이지에 있는 놈인데 골절로 검색하면 안드로메다인 경우도 생긴다.

물론 골절을 다른 게시물 건수가 적고 그들의 검색지수도 순위에 고려되니까 멀쩡히 1페이지에 보일 수도 있다.

그저께까지의 네이버 검색결과는 그렇지 않았다.

제목에 경쟁력있는 키워드로 1등 먹고 있는 게시물은 세부 키워드로 검색하거나 다른 키워드로 검색해도 상위노출을 해주는 구조였는데...이제 이게 반영되면 그렇지 않게 된다는 얘기...

물론 어제 말했듯이 

검색지수 = 블로그지수 x% + 컨텐츠지수 y% + 키워드지수 z% 

조합에서 어느정도 비율이냐에 따라 체감정도는 달라지겠지만 키워드 비율이 늘어난 것 같다 일단 내가 보기에.


새벽부터 왜 또 이짓을 하고 있는가...


내 생각에 저 반영비율이 전역변수로 환경설정파일에서 읽어오도록 되어 있는데 이걸 바꿨다...

그래서 모든 키워드에 계산되어 저장되어 있는 검색지수가 현재 다시 계산되고 있는 중이다....

계산되고 있는 중이니 서버마다, 키워드마다 날짜마다,,, 된 놈도 있고 아직 예전 검색지수 그대로인 놈도 있고 하니 검색하는 순간순간마다 계속 삽질중인 것으로 보이는 사태가 관찰된다...

 

뭐 이런 말이지.

 

 

 

스크랩

공유하기

신고

하트 아이콘신림괴물님 외 13명이 좋아합니다.

목록글쓰기
댓글 2
댓글 새로고침
23

도전정신

06.184,207
13

MKTG

06.181,858
18

해릭

06.181,548
16

횽횽

06.181,906
7

주접2

06.1814,214
4

T.K

06.18948
27

도전정신

06.181,441
51

다연아빠

06.181,515
3

quuduu

06.181,135
4

헬싱

06.181,199
6

글벗

06.181,963
2

발빠닥

06.181,238
4

슈루

06.181,500
1

준댕이

06.181,106
132

큰곰

06.188,698
1

도전정신

06.181,299

벤츠탄다

06.18865
2

이기중

06.181,550
1

무일푼인생

06.181,695
6

dfdf4545

06.171,256
1

렐라뿅

06.17902
64

큰곰

06.172,056
34

cyson21

06.171,954
8

광노출

06.171,389
43

으아악멘붕

06.171,602
4

T.K

06.171,485
1

컵라면

06.171,021
2

해릭

06.171,270
2

사람살려

06.171,239
1

도전정신

06.171,284
목록 글쓰기
로그인 후 더욱 많은 기능을 이용하세요!아이보스 로그인