Passionforce

Salesforce 글로벌 검색에 대해 본문

Sales & Service Cloud/데이터 관리

Salesforce 글로벌 검색에 대해

Passionforce 2024. 4. 16. 21:28

 

Salesforce의 검색 엔진은 레코드상의 필드값이나 검색 키워드를 "토큰(Token)"이라는 작은 덩어리로 분할하여 검색을 수행합니다.

검색 키워드의 토큰이 인덱스에 저장된 토큰과 일치할 경우 해당 레코드가 검색 결과에 표시됩니다.

이 과정은 크게 두 가지로 나뉩니다: 레코드 작성 시의 동작과 레코드 검색 시의 동작입니다.


1. 레코드 작성 시의 동작

  1. 레코드가 생성됩니다.
  2. Salesforce의 검색 엔진이 레코드의 내용을 검색이 가능한 작은 조각(토큰)으로 분할합니다.
  3. 분할된 토큰이 검색 인덱스에 저장됩니다.

이 과정에서 레코드의 필드값이 특정 규칙에 따라 나뉘며, 검색이 용이하도록 구조화됩니다.

2. 레코드 검색 시의 동작

  1. 사용자가 검색어를 입력하여 검색을 실행합니다.
  2. 검색 엔진이 입력된 검색어를 동일한 방식으로 토큰 단위로 분할합니다.
  3. 분할된 토큰이 검색 인덱스에 저장된 토큰과 대조됩니다.
  4. 검색된 레코드들은 연관성에 따라 등급이 매겨집니다.
  5. 사용자의 접근 권한에 따라 최종 검색 결과가 반환됩니다.

이 과정에서 사용자가 입력한 검색어가 어떻게 토큰화되는지, 그리고 토큰이 레코드의 인덱스와 얼마나 정확하게 일치하는지가 검색 결과의 정확성에 큰 영향을 미칩니다.


Salesforce 검색에서의 토큰화(Tokenization) 방식

Salesforce는 다양한 방법으로 필드값과 검색 키워드를 토큰화합니다. 기본적인 토큰화 방식은 다음과 같습니다:

  • 공백을 기준으로 단어를 나누는 방식
  • 특수 문자(하이픈, 밑줄 등)를 기준으로 분할
  • 어간 분석(stemming) 적용 (예: "running" → "run")
  • N-gram 방식을 활용한 일부 문자 단위 검색 가능 (예: "Salesforce" → "Sale", "force" 등)

이러한 방식으로 인해 검색 엔진은 사용자의 입력과 가장 관련성이 높은 결과를 찾아 반환할 수 있습니다.


참고로 토큰 분할 방법 등에 대한 세일즈포스 자료는 아래와 같습니다.

검색에서 정보를 분류하는 방법
https://help.salesforce.com/s/articleView?id=sf.search_terms.htm&type=5

Global Search results incomplete when you search text from Long Text Area fields
https://help.salesforce.com/s/articleView?id=000384354&type=1