Skip to main content

엔터프라이즈 규칙 및 쿼리 시작하기

엔터프라이즈 연산자를 사용하는 제품은 여러분이 설정한 필터링 규칙에 따라 소셜 데이터를 제공합니다. 규칙은 하나 이상의 ‘절(clause)’로 구성되며, 절은 키워드, 정확한 문구, 또는 다양한 엔터프라이즈 연산자 중 하나입니다. 엔터프라이즈 연산자로 규칙을 만들기 전에 아래에 설명된 구문을 검토하고, 사용 가능한 연산자 목록을 살펴보고, 규칙을 작성할 때 적용되는 제약 사항을 이해해야 합니다. 또한 “연산 순서” 섹션에서 규칙이 논리적으로 어떻게 평가되는지에 대한 세부 사항도 반드시 이해해야 합니다. 여러 절(clause)을 “and” 및 “or” 논리 모두와 결합할 수 있습니다. 주의: “and” 논리는 절 사이에 공백을 두어 지정하고, “or” 논리는 대문자 OR로 지정합니다.  각 규칙은 최대 2,048자까지 작성할 수 있으며, 긍정 절(일치하거나 필터링 대상으로 포함하려는 항목)과 부정 절(제외하거나 일치시키지 않으려는 항목)의 개수에는 제한이 없습니다.  

규칙과 쿼리 만들기

키워드 매칭 키워드 매칭은 검색 인터페이스에서의 쿼리와 유사합니다. 예를 들어, 아래의 엔터프라이즈 연산자 규칙은 텍스트 본문에 “social”이라는 용어가 포함된 활동과 매칭됩니다. social 공백으로 AND 조건 결합하기 키워드를 하나 더 추가하는 것은 매칭을 찾기 위한 조건을 하나 더 추가하는 것과 같습니다. 예를 들어, 이 규칙은 텍스트에 “social”과 “media”가 모두 존재하는 활동과만 매칭되며, 순서는 상관없습니다 – 용어 사이에 공백을 두는 것은 불리언 AND 로직으로 동작합니다. 규칙에 명시적으로 AND를 포함하면, rules endpoint에서 거부됩니다. social media 대문자 OR로 OR 조건 사용하기 하지만 많은 상황에서는 실제로 불리언 OR 로직이 필요합니다. 이것도 쉽게 구현할 수 있습니다. OR 연산자는 반드시 대문자여야 하며, 소문자 ‘or’는 일반 키워드로 처리됩니다. social OR data 용어 부정하기 또 다른 시나리오에서는 특정 키워드를 포함한 결과를 제외해야 할 수 있습니다 (불리언 NOT 로직). 예를 들어, 텍스트에 ‘happy’는 포함하지만, ‘birthday’가 포함된 것은 모두 제외하는 경우입니다. social -personality 괄호로 그룹화하기 이러한 유형의 로직은 괄호로 그룹화하여 조합할 수 있으며, 훨씬 더 복잡한 쿼리로 확장할 수 있습니다. (social OR data) (academic OR research) -personality -information -university 하지만 이것은 시작에 불과합니다. 위 예시는 키워드에 대한 토큰화된 매칭만 사용하지만, 엔터프라이즈 제품은 텍스트에 대해 다양한 유형의 매칭을 수행할 수 있는 연산자도 제공합니다. 정확 일치 "social media research" 부분 문자열 일치 contains:info 근접도 일치 "social media research"~3 추가로, 다른 연산자를 사용하면 텍스트뿐 아니라 소셜 데이터의 고유한 속성을 기준으로 필터링할 수 있습니다.  게시물을 작성하는 사용자 from:XDeveloeprs 미국 콜로라도주 볼더의 Pearl St.로부터 10마일 이내의 지오태그된 Tweet point_radius:[-105.27346517 40.01924738 10.0mi] 모두 결합하기 이들은 위에서 설명한 것과 동일한 유형의 로직을 사용해 텍스트 필터와 결합할 수 있습니다. (social OR data) (academic OR research OR "social media research") point_radius:[-105.27346517 40.01924738 10.0mi] lang:en -personality -information -university

불리언 구문

앞선 섹션의 예제에서는 다양한 유형의 불리언(Boolean) 논리와 그룹화를 사용했습니다. 아래 표에서 각 구문과 요구 사항에 대한 추가 세부 정보를 확인할 수 있습니다. 주의: 연산자는 긍정 또는 부정일 수 있습니다. **Positive Operator(긍정 연산자)**는 결과에 포함하고자 하는 내용을 정의합니다. 예를 들어 has:hashtags 연산자는 “해시태그를 포함하는 활동이 필요하다”는 의미입니다. **Negative Operator(부정 연산자)**는 결과에서 제외하고자 하는 내용을 정의하며, 위에서 설명한 Boolean NOT 논리를 사용해 만듭니다. 예를 들어 -has:hashtags는 “내 규칙과 일치하더라도, 해시태그를 포함하는 모든 활동을 제외하라”는 의미입니다. Premium 연산자 제품에는 긍정 및 부정 절의 수에 제한이 없으며, 최대 길이 2,048자만 준수하면 됩니다.  

연산 순서

하나의 규칙에서 AND와 OR를 함께 사용할 때는, 아래 연산 순서에 따라 규칙이 평가됩니다.
  1. AND 논리로 연결된 연산자가 먼저 결합됩니다
  2. 그 다음 OR 논리로 연결된 연산자가 적용됩니다
예시:
  • apple OR iphone ipadapple OR (iphone ipad) 로 평가됩니다
  • ipad iphone OR android(iphone ipad) OR android 로 평가됩니다
모호성을 없애고 규칙이 의도한 대로 평가되도록 하려면, 적절한 경우 괄호를 사용해 검색어를 함께 묶어 주세요. 예를 들어:
  • (apple OR iphone) ipad
  • iphone (ipad OR android)

문장 부호, 발음 구별 부호, 대소문자 구분

엔터프라이즈 연산자용으로 발음 구별 부호(억양 부호)가 포함된 키워드 또는 해시태그 규칙을 지정하면, 해당 발음 구별 부호를 그대로 반영하여 게시물 텍스트와 일치 여부를 판단합니다(해시태그 또는 키워드). 예를 들어, 키워드 Diacr**í**tica 또는 해시태그 #cumplea**ñ**os 규칙은 “Diacrítica” 또는 “#cumpleaños”와는 일치하지만, 물결표가 없는 “Diacritica” 또는 “#cumpleanos”(í 또는 eñe 없음)와는 일치하지 않습니다. 억양 부호나 발음 구별 부호가 있는 문자는 일반 문자와 동일하게 취급되며, 단어 경계로 간주되지 않습니다. 예를 들어, 규칙이 cumpleaños인 경우 cumpleaños라는 단어를 포함하는 활동과만 일치하며, cumplea, cumplean 또는 os를 포함하는 활동과는 일치하지 않습니다. 모든 연산자는 대소문자를 구분하지 않고 평가됩니다. 예를 들어, 규칙 Cat은 다음 모든 문자열과 일치합니다: “cat”, “CAT”, “Cat”.

PowerTrack 규칙 태그

Matching rules” 페이지에서 설명한 것처럼, 각 규칙은 태그와 함께 생성될 수 있습니다. 이러한 태그는 필터링에는 아무런 영향을 미치지 않지만 App 내에서 규칙을 논리적으로 그룹화하는 데 사용할 수 있습니다. 각 규칙에는 태그를 하나만 지정할 수 있으며, 태그의 최대 길이는 255자입니다. 태그는 “Matching rules” 페이지에 설명된 대로 API를 통해 규칙을 생성할 때 JSON 형식의 규칙과 함께 포함됩니다.

규칙을 JSON 형식으로 작성하기

API를 통해 스트림에서 규칙을 추가하거나 삭제하려면 규칙은 JSON 형식을 사용해야 합니다. 기본적으로 각 규칙을 다음 구조에 넣어야 합니다: {"value":"insert_rule_here"} 큰따옴표가 포함된 규칙 규칙에 정확 일치 검색이나 기타 연산자와 함께 사용하는 큰따옴표 문자(")가 포함되는 경우, JSON 구조와 구분하기 위해 역슬래시를 사용해 이 문자를 이스케이프해야 합니다. "social data" @XDevelopers JSON 형식의 규칙은 다음과 같습니다: {"value":"\"social data\" @XDevelopers"} 큰따옴표 문자열 리터럴이 포함된 규칙 정확 일치 검색 안에서 큰따옴표 문자를 문자열 리터럴로 포함하려면, 이 문자를 두 번 이스케이프해야 합니다. 예를 들어, “Toys “R” Us”라는 정확한 구, 즉 “R” 주변의 큰따옴표까지 포함해 일치시키는 규칙의 일반 텍스트 표현은 다음과 같습니다: "Toys \"R\" Us" 이를 JSON 형식으로 변환하면 다음 구조를 사용해야 합니다: {"value":"\"Toys \\\"R\\\" Us\""} 태그가 포함된 규칙 위에서 설명한 것처럼 규칙에 선택적 태그를 포함하려면 규칙 값과 함께 추가 tag 필드를 포함하면 됩니다. {"value":"\"social data\" @XDevelopers","tag":"RULE-TAG-01"} API 요청을 위한 포맷팅 API를 통해 스트림에서 규칙을 추가하거나 삭제할 때 여러 개의 JSON 형식 규칙은 쉼표로 구분하고, 아래와 같이 JSON rules 배열로 감싸야 합니다: {"rules":[{"value":"from:XDevelopers"},{"value":"\social data\" @XDevelopers","tag":"RULE-TAG-01"}]}

인용 Tweet과 일치하는 연산자

PowerTrack API 및 Historical PowerTrack API를 사용할 때 아래 연산자들은 인용된 원본 게시물과 새 인용 Tweet의 콘텐츠 모두와 매칭됩니다. 반면 Search API를 사용하는 경우, 이러한 연산자들은 인용 Tweet의 콘텐츠에만 매칭되며 인용된 원본 게시물의 콘텐츠에는 매칭되지 않습니다.
  • Keywords
  • Phrases
  • Proximity
  • #hashtags
  • @mentions
  • $cashtags
  • url:
  • url_contains:
  • has:links
  • has:mentions
  • has:hashtags
  • has:media
  • has:symbols
  • is:quote
  • is:reply

엔터프라이즈 연산자

아래에는 PowerTrack 및 Historical PowerTrack에서 사용할 수 있는 연산자가 정리되어 있습니다. 이 중 일부는 30일 및 전체 아카이브 검색 API에서도 사용할 수 있습니다. 제품별로 사용 가능한 연산자 목록은 이 표를 참조하세요.  아래 목록은 현재 지원되는 언어와 해당 BCP 47 언어 식별자를 나타냅니다: 예: (@XDevelopers OR to:XDevelopers) lang:es Note: language 연산자는 X가 판별하여 게시물의 lang 속성으로 설정한 특정 게시물 언어와 일치합니다. X Entities JSON 속성에 대한 자세한 내용은 HERE를 참고하세요. 어떤 게시물에 대해서도 언어 분류를 할 수 없는 경우, 해당 게시물의 lang 값은 ‘und’(미정)로 설정됩니다.

제품별 연산자

규칙 및 필터링: 엔터프라이즈

모든 엔터프라이즈 연산자는 PowerTrack 및 Historical PowerTrack API에서 사용할 수 있습니다. 다만, 이 페이지에 설명된 대로 엔터프라이즈 Search API에서는 일부 연산자만 사용할 수 있습니다. 짙은 파란색 태그는 엔터프라이즈 제품별로 어떤 연산자를 사용할 수 있는지를 나타냅니다: PowerTrack Search