검색 품질 향상

검색 품질이란 검색을 수행하는 사용자가 인식하는 순위 및 재현율을 기준으로 측정한 검색결과의 품질입니다.

순위는 항목의 순서를, 재현율은 검색된 관련 항목의 수를 나타냅니다. 항목 (문서라고도 함)은 Google Cloud Search가 색인을 생성할 수 있는 모든 디지털 콘텐츠 조각을 말합니다. 항목의 유형으로는 Microsoft Office 문서, PDF 파일, 데이터베이스의 행, 고유 URL 등이 있습니다. 항목은 다음으로 구성됩니다.

  • 구조화된 메타데이터
  • 색인 생성이 가능한 콘텐츠
  • ACL

Cloud Search는 다양한 신호를 사용하여 검색결과(검색어로 찾은 항목)를 가져오고 순위를 매깁니다. 스키마 설정, 항목의 내용과 메타데이터(색인 생성 중), 검색 애플리케이션을 통해 Cloud Search의 신호에 영향을 줄 수 있습니다. 이 문서의 목표는 이러한 신호 영향 요소를 수정하여 검색 품질을 높이는 데 기여하는 것입니다.

권장 설정 및 선택적 설정을 요약한 내용은 권장 및 선택적 검색 품질 설정 요약을 참조하세요.

적합성 점수에 영향 주기

적합성이란 검색결과와 원래 검색어의 관련성을 나타냅니다. 항목의 적합성은 다음 기준에 따라 계산됩니다.

  • 각 검색어의 중요도
  • 적중 횟수(항목의 내용 또는 메타데이터에서 검색어가 등장하는 횟수)
  • 검색어 및 검색어의 변형과 Cloud Search에 색인 생성된 항목의 일치 유형

텍스트 속성의 적합성 점수에 영향을 주려면 스키마의 텍스트 속성에 RetrievalImportance를 정의합니다. RetrievalImportance가 높은 속성과 일치하면 RetrievalImportance가 낮은 속성과 일치할 때보다 점수가 높습니다.

예를 들어 다음과 같은 특성을 갖는 데이터 소스가 있다고 가정해 보겠습니다.

  • 소프트웨어 버그 기록을 저장하는 데 사용되는 데이터 소스입니다.
  • 각 버그에는 이름, 설명, 우선순위가 있습니다.

대부분의 사용자는 버그 이름을 사용하여 이 데이터 소스를 쿼리할 것이므로 스키마에서 이름의 RetrievalImportanceHIGHEST로 설정합니다.

반대로 대부분의 사용자는 버그 설명을 사용하여 이 데이터 소스를 쿼리하지 않을 수 있으므로 설명의 RetrievalImportanceDEFAULT로 설정합니다. 다음은 RetrievalImportance 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
              }
            }
          },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "label",
            "isRepeatable": true,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "comments",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "project",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGH
              }
            }
          },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

HTML 문서의 경우 <title><h1>와 같은 태그와 글꼴 크기 및 굵게와 같은 서식 설정을 사용하여 다양한 검색어의 중요도를 판단합니다. ContentFormatTEXT이면 ItemContent의 검색 중요도는 DEFAULT이고 HTML일 경우에는 HTML 속성을 기준으로 검색 중요도가 결정됩니다.

최신성에 영향 주기

최신 상태는 항목이 얼마나 최근에 수정되었는지를 측정하고 ItemMetadatacreateTimeupdateTime 속성에 의해 결정됩니다. 검색결과에서 이전 항목의 순위가 내려갑니다.

스키마에서 FreshnessOptionsfreshnessPropertyfreshnessDuration를 조정하여 객체의 최신성이 계산되는 방식에 영향을 줄 수 있습니다.

freshnessProperty를 사용하면 최신성을 계산하는 데 기본 updateTime 대신 날짜 또는 타임스탬프 속성을 사용할 수 있습니다.

위의 소프트웨어 버그 추적 시스템 예에서는 마감일을 freshnessProperty로 사용하여 현재 날짜와 가장 가까운 마감일이 있는 항목을 '더 최신'으로 간주하여 순위를 높일 수 있습니다. 다음은 freshnessProperty 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate"
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

freshnessDuration를 사용하여 항목이 오래된 것으로 간주되는 시점을 식별합니다. 예를 들어 데이터 소스가 정기적으로 색인 생성되지 않거나 최신성이 순위에 영향을 주지 않아야 할 수 있습니다. 이렇게 하려면 freshnessDuration에 높은 값을 지정하면 됩니다.

직원 프로필 정보를 포함하는 데이터 소스가 있다고 가정해 보겠습니다. 이 시나리오에서는 직원 정보의 변경사항이 직원의 순위와 관련이 없는 경우가 많으므로 freshnessDuration가 높아질 수 있습니다. 다음은 freshnessDuration 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "people",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "315360000s", # 100 years
        }
      },
    }
  ]
}

뉴스 기사를 포함하는 데이터 소스와 같이 콘텐츠가 빠르게 변경되는 데이터 소스의 경우 freshnessDuration를 매우 낮은 값으로 설정할 수도 있습니다. 이 시나리오에서는 가장 최근에 만들거나 수정한 문서가 가장 관련성이 높습니다. 다음은 콘텐츠가 빠르게 변경되는 데이터 소스의 freshnessDuration 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "news",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "259200s", # 3 days
        }
      },
    }
  ]
}

품질에 영향 주기

품질은 항목의 정확성과 유용성을 측정한 것입니다. 데이터 소스는 의미가 비슷하면서 품질이 서로 다른 여러 문서를 포함할 수 있습니다. SearchQualityMetadata를 사용하여 품질 값을 0에서 1 사이로 지정할 수 있습니다. 이 값이 큰 항목은 값이 작은 항목보다 순위가 상승합니다. Cloud Search에 제공된 정보와 무관하게 특정 항목의 품질에 영향을 주거나 품질을 높이려는 경우에만 이 설정을 사용하세요.

예를 들어 직원의 복지 혜택 문서를 포함하는 데이터 소스가 있다고 가정해 보겠습니다. SearchQualityMetadata를 사용하면 인사 관리 담당자가 작성한 문서의 순위를 다른 직원이 작성한 문서보다 높일 수 있습니다.

다음은 버그 추적 시스템의 문제에 대한 SearchQualityMetadata 설정을 포함하는 샘플 스키마입니다.

{
  "name": "datasources/.../items/issue1",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 1"
    "objectType": "issues"
  },
  ...
}

{
  "name": "datasources/.../items/issue2",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 2"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 0.5
    }
  },
  ...
}

{
  "name": "datasources/.../items/issue3",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 3"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 1
    }
  },
  ...
}

이 스키마에서는 사용자가 'issue'라는 검색어로 검색할 때 스키마의 Issue 3(quality가 1)에 Issue 2(quality가 0.5) 및 Issue 1(아무것도 지정되지 않은 경우 기본 quality인 0)보다 높은 순위가 부여됩니다.

필드 유형 사용에 영향 주기

Cloud Search를 사용하면 열거형 또는 정수 속성의 값에 따라 순위에 영향을 줄 수 있습니다. 각 정수 또는 enum 속성에 OrderedRanking를 지정할 수 있습니다. 이 설정의 값은 다음과 같습니다.

  • NO_ORDER(기본값): 속성이 순위에 영향을 주지 않습니다.
  • ASCENDING: 이 정수 또는 열거형 속성의 값이 큰 항목은 값이 작은 항목보다 순위가 상승합니다.
  • DESCENDING: 정수 또는 열거형 속성의 값이 작은 항목은 값이 큰 항목보다 순위가 상승합니다.

예를 들어 버그 추적 시스템에서 각 버그의 열거형 속성에 버그의 우선순위를 HIGH(1), MEDIUM(2), LOW(3) 중 하나로 저장한다고 가정해 보겠습니다. 이 시나리오에서 OrderedRankingDESCENDING로 설정하면 우선순위가 LOW인 버그에 비해 우선순위가 HIGH인 버그의 순위가 상승합니다. 다음은 버그 추적 시스템의 문제에 관한 OrderedRanking 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate",
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        {
          "name": "priority",
          "enumPropertyOptions": {
            "possibleValues": [
              {
                "stringValue": "HIGH",
                "integerValue": 1
              },
              {
                "stringValue": "MEDIUM",
                "integerValue": 2
              },
              {
                "stringValue": "LOW",
                "integerValue": 3
              }
            ],
            "orderedRanking": DESCENDING,
          }
        },

        ...
      ]
    }
  ]
}

또한 버그 추적 시스템에는 버그의 상대적 중요도에 관한 사용자의 의견을 수집하는 데 사용되는 votes라는 정수 속성이 있을 수 있습니다. votes 속성을 사용하면 표를 가장 많이 얻은 버그의 중요도를 높여 순위에 영향을 줄 수 있습니다. 이 경우 votes 속성의 ASCENDINGOrderedRanking를 지정하면 투표 수가 가장 많은 문제가 순위가 상승할 수 있습니다. 다음은 버그 추적 시스템의 문제에 대한 OrderedRanking 설정을 포함하는 샘플 스키마입니다.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
            }
          }
        },
        {
          "name": "votes",
          "integerPropertyOptions": {
            "orderedRanking": ASCENDING,
            "minimumValue": 0,
            "maximumValue": 1000,
          }
        },

        ...
      ]
    }
  ]
}

검색어 확장을 통해 순위에 영향 주기

검색어 확장이란 결과의 품질을 높이기 위해 동의어와 맞춤법을 사용하여 검색어의 범위를 넓히는 것입니다.

동의어를 사용하여 검색결과에 영향 주기

Cloud Search는 공개 웹 콘텐츠에서 추론한 동의어를 활용하여 검색어의 범위를 넓힙니다. 커스텀 동의어를 정의하여 조직별 용어, 예를 들어 특정 조직에서 사용하는 약어 또는 업계 고유 용어를 표현할 수도 있습니다.

커스텀 동의어를 데이터 소스 내에 정의하거나 별도의 데이터 소스로 정의할 수 있습니다. 기본적으로 동의어는 모든 검색 애플리케이션의 모든 데이터 소스에 적용됩니다. 그러나 데이터 소스 및 검색 애플리케이션별로 동의어를 그룹화할 수 있습니다. 검색 애플리케이션별 그룹화를 포함하여 커스텀 동의어 정의에 대한 자세한 내용은 동의어 정의를 참조하세요.

맞춤법을 사용하여 검색결과에 영향 주기

Cloud Search는 공개 Google 검색 데이터를 사용하여 구축된 모델을 기반으로 맞춤법을 추천합니다. Cloud Search는 쿼리 맥락에서 맞춤법 오류를 감지하면 SpellResult에 추천 쿼리를 반환합니다. 추천된 맞춤법을 사용자에게 표시하여 제안할 수 있습니다. 예를 들어 사용자가 검색어를 'employe'로 잘못 입력했다면 'employee를 입력하셨나요?'라는 제안을 표시할 수 있습니다.

또한 Cloud Search는 맞춤법 교정을 동의어로 사용하여 맞춤법 실수 때문에 놓칠 수 있었던 문서를 검색합니다.

검색 애플리케이션 설정을 통해 순위에 영향 주기

Google Cloud Search 소개의 설명과 같이, 검색 애플리케이션이란 검색 인터페이스와 연결되어 검색에 대한 컨텍스트 정보를 제공하는 설정의 그룹입니다. 다음 구성을 사용하여 검색 애플리케이션을 통해 순위에 영향을 줄 수 있습니다.

  • 스코어링 구성
  • 소스 구성

다음 두 섹션에서는 이러한 구성을 사용하여 순위에 영향을 주는 방법을 설명합니다.

스코어링 구성 조정

각 검색 애플리케이션에 순위 결정 시 몇 가지 신호를 적용하는 방식을 제어하는 데 사용되는 ScoringConfig를 지정할 수 있습니다. 현재는 최신성맞춤설정을 사용 중지할 수 있습니다.

최신성을 사용 중지하면 데이터 소스의 스키마에 지정된 최신성 옵션에 관계없이 검색 애플리케이션에 나열된 모든 데이터 소스에서 사용 중지됩니다. 마찬가지로 맞춤설정을 사용 중지하면 소유자 순위 상승 및 상호작용 순위 상승이 작동하지 않습니다.

이 설정을 구성하는 방법에 대한 단계별 안내는 Cloud Search에서 검색 환경 맞춤설정을 참조하세요.

소스 구성 조정

소스 구성을 사용하면 검색 애플리케이션의 데이터 소스 수준 설정을 지정할 수 있습니다. 다음과 같은 설정이 지원됩니다.

  • 소스 중요도
  • 크라우딩

소스 중요도 설정

소스 중요도는 검색 애플리케이션 내에서 특정 데이터 소스의 상대적 중요도를 나타냅니다. 이 설정은 SourceScoringConfigSourceImportance 필드에서 지정할 수 있습니다. 소스 중요도가 HIGH인 데이터 소스의 항목은 소스 중요도가 DEFAULT 또는 LOW인 데이터 소스의 항목보다 순위가 상승합니다. 사용자가 특정 데이터 소스의 결과를 선호할 것으로 예상되는 경우 이 설정을 사용하여 순위에 영향을 줄 수 있습니다.

예를 들어 제품 지원 포털에 외부 및 내부 문제해결 데이터가 있다고 가정해 보겠습니다. 이 시나리오에서는 검색 애플리케이션이 내부 데이터 소스의 결과를 우선시하도록 구성할 수 있습니다.

이 설정을 구성하는 방법에 대한 단계별 안내는 Cloud Search에서 검색 환경 맞춤설정을 참조하세요.

크라우딩 설정

크라우딩이란 검색 애플리케이션의 데이터 소스에서 반환될 수 있는 결과의 최대 개수입니다. 이 값은 SourceCrowdingConfignumResults 필드를 사용하여 제어할 수 있습니다. 기본값은 3이며, 이 경우 데이터 소스 중 하나에서 결과 3개를 표시했으면 Cloud Search가 다른 데이터 소스의 결과를 보여주기 시작합니다. 모든 데이터 소스가 크라우딩 한도에 도달했거나 다른 데이터 소스에 더 이상 결과가 없는 경우에만 첫 번째 데이터 소스의 항목이 다시 고려됩니다.

이 설정은 검색 결과의 다양성을 보장하고 데이터 소스 중 하나가 검색결과 페이지를 독점하지 않도록 하는 데 도움이 됩니다.

이 설정을 구성하는 방법에 대한 단계별 안내는 Cloud Search에서 검색 환경 맞춤설정을 참조하세요.

맞춤설정을 통해 순위에 영향 주기

맞춤설정이란 결과에 액세스하는 사용자 개인별로 맞춤화된 검색결과를 보여주는 것입니다. 다음과 같은 기준에 따라 항목에 우선순위를 부여하여 순위에 영향을 줄 수 있습니다.

  • 항목 소유권
  • 항목 상호작용
  • 사용자 클릭수
  • 항목 언어

다음 세 섹션에서는 이러한 기준에 따라 검색 품질에 영향을 주는 방법을 설명합니다.

항목 소유권에 따라 순위에 영향 주기

항목 소유권이란 검색을 수행하는 사용자가 소유한 항목의 순위를 높이는 것을 말합니다. 각 항목에는 owners 필드가 있는 ItemAcl가 있습니다. 검색을 수행하는 사용자가 항목 소유자이면 기본적으로 해당 항목의 순위가 상승합니다. 검색 애플리케이션에서 맞춤설정을 해제할 수 있습니다.

항목 상호작용에 따라 순위에 영향 주기

항목 상호작용이란 검색 사용자가 조회, 댓글 작성, 수정 등의 상호작용을 수행했던 항목의 순위를 높이는 것을 말합니다.

Drive 및 Gmail과 같은 Google Workspace 제품의 항목 상호작용 신호가 자동으로 수집됩니다. 다른 제품에서는 항목 수준에서 상호작용 데이터를 제공할 수 있습니다. 예를 들어 상호작용 유형(조회, 수정), 상호작용의 타임스탬프, 주체(항목과 상호작용한 사용자) 등의 데이터가 가능합니다. 최근에 상호작용한 항목일수록 순위가 더 상승합니다.

사용자 클릭수에 따라 순위 높이기

Cloud Search는 현재 검색 결과의 클릭수를 수집하고, 이를 사용하여 동일한 사용자가 이전에 클릭한 항목을 높여 향후 검색에 대한 순위를 높입니다.

검색어 해석을 통해 순위에 영향 주기

Cloud Search의 검색어 해석은 사용자의 검색어에 있는 연산자와 필터를 자동으로 해석하여 이러한 요소를 구조화된 연산자 기반 검색어로 변환하는 기능입니다. 검색어 해석에서는 스키마에 정의된 연산자와 색인 생성된 문서를 함께 사용하여 사용자 검색어의 의미를 추론합니다. 사용자는 이 기능을 통해 최소한의 키워드로 검색하면서 정확한 결과를 얻을 수 있습니다. 자세한 내용은 검색어 해석 최적화를 위한 스키마 구조화를 참조하세요.

항목 언어에 따라 순위에 영향 주기

언어란 검색어의 언어와 일치하지 않는 항목의 순위를 내리는 것을 말합니다. 언어에 따라 항목 순위에 영향을 주는 요소는 다음과 같습니다.

  • 쿼리 언어입니다. 검색어의 자동 감지된 언어 또는 RequestOptions에 지정된 languageCode입니다.

    커스텀 검색 인터페이스를 빌드하는 경우 languageCode를 사용자의 인터페이스 언어 또는 언어 환경설정 (예: 웹브라우저 또는 검색 인터페이스 페이지의 언어)으로 설정해야 합니다. 자동 감지된 쿼리 언어가 languageCode보다 우선하므로 사용자가 인터페이스와 다른 언어로 쿼리를 입력하더라도 검색 품질이 저하되지 않습니다.

  • 항목 언어입니다. 색인 생성 시 ItemMetadata에 설정된 contentLanguage 또는 Cloud Search에서 자동으로 감지한 콘텐츠 언어

    색인 생성 시 문서의 contentLanguage가 비어 있고 ItemContent가 채워지면 Cloud Search는 ItemContent에 사용된 언어를 감지하여 내부적으로 저장합니다. 자동으로 감지된 언어는 contentLanguage 필드에 추가되지 않습니다.

검색어와 항목의 언어가 일치하면 언어에 따른 순위 하락이 적용되지 않습니다. 이러한 설정이 일치하지 않으면 항목의 순위가 내려갑니다. contentLanguage가 비어 있고 Cloud Search에서 언어를 자동으로 감지할 수 없는 문서에는 언어 강등이 적용되지 않습니다. 따라서 Cloud Search가 언어를 감지하지 못해도 문서의 순위는 영향을 받지 않습니다.

항목 컨텍스트에 따라 순위 높이기

검색어의 컨텍스트와 더 관련성이 높은 항목의 순위를 높일 수 있습니다. 컨텍스트(contextAttributes)는 색인 생성 중에 그리고 검색 요청에서 특정 검색어의 컨텍스트를 제공하기 위해 지정할 수 있는, 명명된 속성의 집합입니다.

예를 들어 직원 복리후생 문서와 같은 항목이 도시(San Francisco), 주 (California), 국가 (USA), Department(Engineering) 등 LocationDepartment의 컨텍스트와 더 관련이 있다고 가정해 보겠습니다. 이 경우 다음과 같은 이름이 지정된 속성을 사용하여 항목의 색인을 생성할 수 있습니다.

{
  ...
  "metadata": {
    "contextAttributes": [
      {
        name: "Location"
        values: [
          "San Francisco",
          "California",
          "USA"
        ],
      },
      {
        name: "Department"
        values: [
          "Engineering"
        ],
      }
    ],
  },
  ...
}

사용자가 검색 인터페이스에 'benefits'라는 검색어를 입력하면 개발자는 사용자의 위치 정보와 부서를 검색 요청에 포함할 수 있습니다. 예를 들어 다음은 시카고에 있는 엔지니어의 위치와 부서 정보가 포함된 검색 요청입니다.

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Chicago",
        "Illinois",
        "USA"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

색인이 생성된 항목과 검색 요청에 모두 'Department=Engineering' 및 'Location=USA' 속성이 포함되어 있으므로 색인 생성된 항목 (직원 복리후생 문서)이 검색 결과에서 상위에 나타납니다.

이제 인도의 엔지니어인 다른 사용자가 검색 인터페이스에 'benefits'라는 검색어를 입력했다고 가정해 보겠습니다. 다음은 위치 및 부서 정보가 포함된 검색 요청입니다.

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Bengaluru",
        "Karnataka",
        "India"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

색인이 생성된 항목과 검색 요청에 모두 'Department=Engineering' 속성 포함되어 있으므로 색인이 생성된 항목은 검색결과에서 약간 상위에 표시됩니다 (미국 시카고에 있는 엔지니어가 입력한 '혜택'이라는 첫 번째 검색어와 비교 시).

다음은 순위를 높이는 데 사용할 수 있는 몇 가지 컨텍스트의 예입니다.

  • 위치: 항목은 건물, 도시, 국가, 지역과 같은 특정 위치의 사용자와 더 관련이 있을 수 있습니다.
  • 직무 역할: 기술 작성자 또는 엔지니어와 같은 특정 직무 역할의 사용자와의 관련성이 더 높은 항목일 수 있습니다.
  • 부서: 판매나 마케팅과 같은 특정 부서와 더 관련이 있는 상품일 수 있습니다.
  • 직무 수준: 이사 또는 CEO와 같은 특정 직무 수준과 더 관련이 있는 항목이 있을 수 있습니다.
  • 직원 유형: 파트타임 및 정규직과 같은 특정 유형의 직원과 관련성이 높은 항목이 표시될 수 있습니다.
  • 재직 기간: 신입 사원과 같은 직원의 재직 기간과 관련성이 높은 항목이 있습니다.

상품의 인기도를 통해 순위에 영향 주기

Cloud Search는 인기 항목의 순위가 상승합니다. 즉, 최근 검색어에서 클릭이 발생한 항목의 순위가 올라갑니다.

클릭 부스트를 통해 순위에 영향 주기

Cloud Search는 현재 검색 결과에 대한 클릭수를 수집하고 이를 사용하여 특정 검색어에 대한 인기 항목을 높여 향후 검색에 대한 순위를 높입니다.

권장 및 선택적 검색 품질 설정 요약

다음 표에는 모든 검색 품질 설정(권장 및 선택사항)이 나와 있습니다. 권장 설정은 Cloud Search의 순위 모델을 최대한 활용하는 데 도움이 됩니다.

설정위치권장/선택사항세부정보
스키마 설정
ItemContent 필드ItemContent추천스키마를 만들거나 업데이트할 때 항목의 구조화되지 않은 콘텐츠를 입력합니다. 이 필드는 스니펫을 생성하는 데 사용됩니다.
RetrievalImportance 필드RetrievalImportance추천스키마를 만들거나 업데이트할 때 명백하게 중요도나 적합성이 높은 텍스트 속성에 설정합니다.
FreshnessOptionsFreshnessOptions선택사항스키마를 만들거나 업데이트할 때 데이터가 잘못되었거나 누락되어도 항목의 순위가 내려가지 않도록 설정합니다.
색인 생성 설정
createTime/updateTimeItemMetadata추천항목 색인 생성 중에 입력합니다.
contentLanguageItemMetadata추천항목 색인 생성 중에 입력합니다. 이 열이 없으면 Cloud Search는 ItemContent에 사용된 언어를 감지하려고 시도합니다.
owners 필드ItemAcl()추천항목 색인 생성 중에 입력합니다.
커스텀 동의어_dictionaryEntry 스키마추천색인 생성 중에 데이터 소스 수준에서 정의하거나 별도의 데이터 소스로 정의합니다.
quality 필드SearchQualityMetadata선택사항의미가 비슷한 다른 항목보다 기본 품질을 높이려는 경우 색인 생성 중에 품질을 설정합니다. 데이터 소스의 모든 항목에 이 필드를 설정하면 효과가 무효화됩니다.
항목 수준 상호작용 데이터interaction선택사항데이터 소스가 사용자의 상호작용을 기록하고 액세스를 제공하는 경우, 색인 생성 중에 상호작용을 입력합니다.
정수/열거형 속성OrderedRanking선택사항항목의 순서가 중요하다면 색인 생성 중에 정수 및 열거형 속성의 정렬 순위를 지정합니다.
검색 애플리케이션 설정
Personalization=falseScoringConfig 또는 CloudSearch 관리 UI 사용추천검색 애플리케이션을 만들거나 업데이트할 때 '맞춤설정을 통해 순위에 영향 주기'의 설명에 따라 정확한 소유자 정보를 제공합니다.
SourceImportance 필드SourceCrowdingConfig선택사항특정 데이터 소스의 결과에 가중치를 주려면 이 필드를 설정합니다.
numResults 필드SourceCrowdingConfig선택사항결과의 다양성을 제어하려면 이 필드를 설정합니다.

다음 단계

다음과 같은 몇 가지 단계를 진행할 수 있습니다.

  1. 검색어 해석 최적화를 위해 스키마를 구조화합니다.

  2. _dictionaryEntry 스키마를 활용하여 회사에서 흔히 사용되는 용어의 동의어를 정의하는 방법을 알아봅니다. _dictionaryEntry 스키마를 사용하려면 동의어 정의를 참조하세요.