قواعد "لغة طلبات البحث في إعلانات Google"

تحتوي هذه الصفحة على مرجع لقواعد لغة طلبات بحث إعلانات Google. لمعرفة تفاصيل بنية طلب البحث، يُرجى الاطّلاع على بنية طلب البحث.

مرجع القواعد

في ما يلي مرجع لقواعد لغة طلبات بحث إعلانات Google (بترميز التعبير العادي):

Query            -> SelectClause FromClause? WhereClause? OrderByClause?
                    LimitClause? ParametersClause?
SelectClause     -> SELECT FieldName ("," FieldName)*
FromClause       -> FROM ResourceName
WhereClause      -> WHERE Condition (AND Condition)*
OrderByClause    -> ORDER BY Ordering ("," Ordering)*
LimitClause      -> LIMIT PositiveInteger
ParametersClause -> PARAMETERS Literal "=" Value ("," Literal "=" Value)*

Condition        -> FieldName IS NULL
                  | FieldName IS NOT NULL
                  | FieldName BETWEEN Value AND Value
                  | FieldName Operator Value
Operator         -> "=" | "!=" | ">" | ">=" | "<" | "<=" | IN | NOT IN
                  | LIKE | NOT LIKE | CONTAINS ANY | CONTAINS ALL
                  | CONTAINS NONE | DURING
                  | REGEXP_MATCH | NOT REGEXP_MATCH
Value            -> Literal | LiteralList | Number | NumberList | String
                  | StringList | Function
Ordering         -> FieldName (ASC | DESC)?

FieldName        -> [a-z]([a-zA-Z0-9._])*
ResourceName     -> [a-z]([a-zA-Z0-9_])*

StringList       -> "(" String ("," String)* ")"
LiteralList      -> "(" Literal ("," Literal)* ")"
NumberList       -> "(" Number ("," Number)* ")"

PositiveInteger  -> [1-9]([0-9])*
Number           -> -?[0-9]+(\.[0-9]+)?
String           -> ("'" SingleQuoteChar* "'") | ('"' DoubleQuoteChar* '"')
SingleQuoteChar  -> [^'\\\r\n] | EscapeSequence
DoubleQuoteChar  -> [^"\\\r\n] | EscapeSequence
EscapeSequence   -> "\\" ("\\" | "'" | '"' | "n" | "r" | "t")
Literal          -> [a-zA-Z]([a-zA-Z0-9_])*

Function         -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS
                  | LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN
                  | LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY
                  | THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY
  • تشير العلامة ? إلى عنصر اختياري.
  • تعني العلامة * صفرًا أو أكثر، بينما تعني العلامة + واحدًا أو أكثر.
  • يشير (...) إلى تجميع، بينما يشير "(" و")" إلى أقواس حرفية.
  • تشير العلامتان [a-z0-9] إلى نطاقات الأحرف، وتشير العلامتان [^...] إلى أي حرف باستثناء الأحرف المُدرَجة.
  • يرمز الرمز | إلى "أو".

القواعد والقيود

  • يجب استخدام FromClause عند طلب البحث في GoogleAdsService، ويجب عدم استخدامه عند طلب البحث في GoogleAdsFieldService.

  • تتيح WhereClause الجمع بين الشروط باستخدام AND فقط. لا يتمّ استخدام عامل التشغيل المنطقي OR، لذا يُرجى استخدام عامل التشغيل IN أو REGEXP_MATCH بدلاً منه.

  • يستخدم عامل التشغيل REGEXP_MATCH بنية RE2 .

  • لمطابقة حرف [ أو ] أو % أو _ حرفي باستخدام عامل التشغيل LIKE، يجب وضع الحرف بين قوسَين مربّعَين. على سبيل المثال، يطابق الشرط التالي جميع قيم campaign.name التي تبدأ بـ [Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • لا يمكن استخدام عامل التشغيل LIKE إلا في حقل سلسلة، وليس في مصفوفة.