DB

[DB] 검색 엔진: 역색인(Inverted Index) 구조란?

ryureeru 2023. 7. 31. 16:35

Inverted Index(역색인)

 

  • 검색 엔진에서 사용되는 데이터 구조로, 효율적인 텍스트 검색을 가능하게 합니다.
  • 역색인은 문서에 등장하는 단어들을 기준으로 구축되며, 각 단어가 어떤 문서에 등장하는지를 기록하는 방식으로 동작합니다.

 

 

 

일반적으로 텍스트 데이터는 문서 단위로 구분되고, 각 문서는 여러 단어로 구성됩니다. 역색인은 이러한 각 단어를 중심으로 데이터를 구조화합니다. 각 단어는 해당 단어를 포함하고 있는 문서들의 위치 정보와 함께 색인되어 저장됩니다.

 

 


예를 들어, 다음과 같은 세 개의 문서가 있다고 가정해봅시다:

 

문서 1: "I like apples."
문서 2: "Apples are delicious."
문서 3: "I like oranges."

 

 

이 경우 역색인은 다음과 같이 구축될 수 있습니다:

 

단어: 문서 번호 (위치)
"apples": 1(2), 2(0)
"are": 2(1)
"delicious": 2(3)
"I": 1(0), 3(0)
"like": 1(0), 3(2)
"oranges": 3(2)

 

 

 

위 예시에서 역색인은 각 단어를 기준으로 해당 단어가 어떤 문서에 등장하는지와 위치를 기록하고 있습니다. 이러한 역색인을 활용하면 특정 단어를 포함하는 문서를 빠르게 찾아낼 수 있으며, 텍스트 검색의 성능을 향상시킬 수 있습니다. 역색인은 검색 엔진의 핵심 구성 요소 중 하나이며, 검색 시스템의 성능과 효율성을 크게 향상시키는데 기여합니다.

 

 

 

🤓💡💡💡