تم إنشاء الوثائق أدناه من جدول النظام
system.functions.alphaTokens
a-z و A-Z، ويُرجع مصفوفة من المقاطع الفرعية المستخرجة.
البنية
splitByAlpha
الوسائط
s— السلسلة النصية المراد تقسيمها.Stringmax_substrings— اختياري. عندما تكونmax_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادةmax_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية.Int64
s. Array(String)
أمثلة
مثال على الاستخدام
Query
Response
arrayStringConcat
array_to_string
الوسيطات
arr— المصفوفة المطلوب دمج عناصرها.Array(T)separator— اختياري. سلسلة الفاصل. تكون سلسلة فارغة افتراضيًا.const String
String
أمثلة
مثال على الاستخدام
Query
Response
extractAllGroupsVertical
extractAllGroups
الوسيطات
s— سلسلة الإدخال المراد الاستخراج منها.StringأوFixedStringregexp— التعبير النمطي المطلوب المطابقة عليه.const Stringأوconst FixedString
Array(Array(String))
أمثلة
مثال على الاستخدام
Query
Response
ngrams
N.
الصياغة
s— سلسلة الإدخال.StringأوFixedStringN— طول الـn-gram.const UInt8/16/32/64
n-grams. Array(String)
أمثلة
مثال على الاستخدام
Query
Response
reverseBySeparator
- reverseBySeparator(‘www.google.com’) تعيد ‘com.google.www’
- reverseBySeparator(‘a/b/c’, ’/’) تعيد ‘c/b/a’
- reverseBySeparator(‘x::y::z’, ’::’) تعيد ‘z::y::x’
string— سلسلة الإدخال المطلوب عكس ترتيب أجزائها.Stringseparator— سلسلة الفاصل المستخدمة لتحديد الأجزاء. إذا لم يتم توفيرها، فسيُستخدم ’.’ (نقطة). القيمة الافتراضية: ’.’String
String
أمثلة
عكس اسم النطاق الأساسي
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
splitByChar
separator، والتي يجب أن تتكوّن من محرف واحد تمامًا، إلى مصفوفة من السلاسل الفرعية.
قد تُحدَّد سلاسل فرعية فارغة إذا ظهر الفاصل في بداية السلسلة أو نهايتها، أو إذا وُجدت عدة فواصل متتالية.
يتحكّم الإعداد
splitby_max_substrings_includes_remaining_string (القيمة الافتراضية: 0) في ما إذا كانت السلسلة المتبقية ستُضمَّن في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.- ظهور فاصل في بداية السلسلة أو نهايتها
- وجود عدة فواصل متتالية
- إذا كانت السلسلة الأصلية
sفارغة
separator— يجب أن يكون الفاصل حرفًا من بايت واحد.Strings— السلسلة المراد تقسيمها.Stringmax_substrings— اختياري. إذا كانتmax_substrings > 0، فستتضمن المصفوفة المُعادةmax_substringsمن السلاسل الفرعية كحد أقصى، وإلا فستُرجع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية هي0.Int64
Array(String)
أمثلة
مثال على الاستخدام
Query
Response
splitByNonAlpha
يحدد الإعداد
splitby_max_substrings_includes_remaining_string (القيمة الافتراضية: 0) ما إذا كان سيتم تضمين السلسلة المتبقية في العنصر الأخير من مصفوفة النتائج عندما تكون الوسيطة max_substrings > 0.s— السلسلة النصية المراد تقسيمها.Stringmax_substrings— اختياري. عندما تكون قيمةmax_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادةmax_substrings، وإلا فستُرجِع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية:0.Int64
s. Array(String)
أمثلة
مثال على الاستخدام
Query
Response
splitByRegexp
- إذا وقع تطابق غير فارغ للتعبير النمطي في بداية السلسلة أو نهايتها
- إذا وُجدت عدة تطابقات غير فارغة ومتتالية للتعبير النمطي
- إذا كانت السلسلة الأصلية فارغة بينما التعبير النمطي غير فارغ.
يحدّد الإعداد
splitby_max_substrings_includes_remaining_string (الافتراضي: 0) ما إذا كانت السلسلة المتبقية ستُدرج في العنصر الأخير من المصفوفة الناتجة عندما تكون قيمة max_substrings > 0.regexp— تعبير نمطي. ثابت.StringأوFixedStrings— السلسلة المراد تقسيمها.Stringmax_substrings— اختياري. عندما تكونmax_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادة القيمةmax_substrings، وإلا فستُرجع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية:0.Int64
s. Array(String)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
splitByString
separator ثابت يتكوّن من عدة أحرف إلى مصفوفة من السلاسل الفرعية.
إذا كانت السلسلة النصية separator فارغة، فسيُقسَّم النص s إلى مصفوفة من الأحرف المفردة.
قد تظهر سلاسل فرعية فارغة في الحالات التالية:
- إذا ظهر فاصل غير فارغ في بداية السلسلة النصية أو نهايتها
- إذا وُجدت عدة فواصل غير فارغة متتالية
- إذا كانت السلسلة النصية الأصلية
sفارغة وكان الفاصل غير فارغ
يتحكّم الإعداد
splitby_max_substrings_includes_remaining_string (الافتراضي: 0) في ما إذا كانت السلسلة النصية المتبقية ستُدرج في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.separator— الفاصل.Strings— السلسلة النصية المراد تقسيمها.Stringmax_substrings— اختياري. عندما تكونmax_substrings > 0، لن يزيد عدد السلاسل الفرعية المُعادة عنmax_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية:0.Int64
s Array(String)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
splitByWhitespace
يتحكم الإعداد
splitby_max_substrings_includes_remaining_string (الافتراضي: 0) في ما إذا كان الجزء المتبقي من السلسلة النصية يُدرج في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.s— السلسلة المطلوب تقسيمها.Stringmax_substrings— اختياري. عندما تكون قيمةmax_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادةmax_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية:0.Int64
s. Array(String)
أمثلة
مثال على الاستخدام
Query
Response
tokens
splitByNonAlphaيقسّم السلاسل النصية عند محارف ASCII غير الأبجدية الرقمية (راجع أيضًا الدالة splitByNonAlpha).splitByString(S)يقسّم السلاسل النصية باستخدام سلاسل الفواصلSالتي يحدّدها المستخدم (راجع أيضًا الدالة splitByString). يمكن تحديد الفواصل باستخدام معلمة اختيارية، على سبيل المثال:tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). لاحظ أن كل سلسلة يمكن أن تتكوّن من عدة محارف (', 'في المثال). قائمة الفواصل الافتراضية، إذا لم تُحدَّد صراحةً، هي مسافة بيضاء واحدة[' '].asciiCJKيقسّم السلاسل النصية إلى رموز باستخدام قواعد حدود الكلمات في Unicode (على غرار UAX #29). وتُشكّل محارف ASCII الأبجدية الرقمية والشرطات السفلية رموزًا مع الموصلات (:للحروف، و.و'للمحارف من النوع نفسه). أما محارف Unicode غير التابعة لـ ASCII فتتحول إلى رموز من محرف واحد.ngrams(N)يقسّم السلاسل النصية إلى n-grams متساوية الحجم (راجع أيضًا الدالة ngrams). يمكن تحديد طول ngram باستخدام معلمة عددية صحيحة اختيارية بين 1 و8، على سبيل المثال:tokens(value, 'ngrams', 3). حجم ngram الافتراضي، إذا لم يُحدَّد صراحةً، هو 3.sparseGrams(min_length, max_length, min_cutoff_length)يقسّم السلاسل النصية إلى n-grams متغيرة الطول لا يقل طولها عنmin_lengthولا يزيد عنmax_length(شاملًا) من المحارف (راجع أيضًا الدالة sparseGrams). ما لم يُحدَّد ذلك صراحةً، تكون القيمتان الافتراضيتان لـmin_lengthوmax_lengthهما 3 و100. وإذا تم تمرير المعلمةmin_cutoff_length، فستُعاد فقط n-grams التي يكون طولها أكبر من أو مساويًا لـmin_cutoff_length. وبالمقارنة معngrams(N)، ينتج مُقسِّم الرموزsparseGramsN-grams متغيرة الطول، مما يتيح تمثيلًا أكثر مرونة للنص الأصلي. على سبيل المثال،tokens(value, 'sparseGrams', 3, 5, 4)يُنشئ داخليًا 3- و4- و5-grams من سلسلة الإدخال، ولكن لا تُعاد إلا 4- و5-grams.arrayلا يُجري أي تقسيم إلى رموز، أي إن قيمة كل row تُعد رمزًا (راجع أيضًا الدالة array).
splitByString، إذا كانت الرموز لا تشكّل prefix code، فغالبًا ما ستحتاج إلى أن تُفضِّل المطابقة الفواصل الأطول أولًا.
وللقيام بذلك، مرّر الفواصل بترتيب تنازلي حسب الطول.
على سبيل المثال، مع separators = ['%21', '%'] فإن السلسلة %21abc ستُقسَّم إلى رموز على النحو ['abc']، بينما separators = ['%', '%21'] ستُقسَّم إلى ['21ac'] (وهو على الأرجح ليس ما أردته).
الصياغة
value— سلسلة الإدخال.StringأوFixedStringtokenizer— المُقسِّم النصي المراد استخدامه. الوسيطات الصالحة هيsplitByNonAlphaوsplitByStringوasciiCJKوngramsوsparseGramsوarray. هذا الوسيط اختياري، وإذا لم يُحدَّد صراحةً، فالقيمة الافتراضية هيsplitByNonAlpha.const Stringn— ينطبق فقط إذا كانت الوسيطةtokenizerهيngrams: معلمة اختيارية تحدد طول الـ ngrams. إذا لم تُحدَّد صراحةً، فالقيمة الافتراضية هي3.const UInt8separators— ينطبق فقط إذا كانت الوسيطةtokenizerهيsplit: معلمة اختيارية تحدد سلاسل الفواصل. إذا لم تُحدَّد صراحةً، فالقيمة الافتراضية هي[' '].const Array(String)min_length— ينطبق فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول الـ gram، والقيمة الافتراضية هي 3.const UInt8max_length— ينطبق فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأقصى لطول الـ gram، والقيمة الافتراضية هي 100.const UInt8min_cutoff_length— ينطبق فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول القطع.const UInt8
Array
أمثلة
المُقسِّم النصي الافتراضي
Query
Response
Query
Response
tokensForLikePattern
tokens، فإن هذه الدالة تراعي دلالات نمط LIKE
(مثل محارف البدل في البداية والنهاية)، وتطبّق قواعد خاصة بكل tokenizer
لاستخراج tokens ذات معنى لأغراض Pattern matching.
وهي تدعم مجموعات الوسائط نفسها التي تدعمها الدالة tokens؛ أما الوسائط الإضافية
بعد tokenizer فتُفسَّر وفقًا للـ tokenizer
المحدد (على سبيل المثال، n من أجل ngrams، وseparators من أجل splitByString،
وmin_length / max_length [/ min_cutoff_length] من أجل sparseGrams).
هذه الدالة مخصّصة أساسًا لأغراض تصحيح الأخطاء والاختبار،
وتُستخدم داخليًا لتحليل سلوك tokenization لأنماط LIKE.
الصياغة
value— سلسلة الإدخال.StringأوFixedStringtokenizer— مقسِّم النص إلى رموز المراد استخدامه. الوسيطات الصالحة هيsplitByNonAlphaوsplitByStringوasciiCJKوngramsوsparseGramsوarray. هذا الوسيط اختياري، وإذا لم يُحدَّد صراحةً، فستكون القيمة الافتراضيةsplitByNonAlpha.const Stringn— يكون ذا صلة فقط إذا كانت الوسيطةtokenizerهيngrams: معلمة اختيارية تحدد طول ngrams. إذا لم تُحدَّد صراحةً، فستكون القيمة الافتراضية3.const UInt8separators— يكون ذا صلة فقط إذا كانت الوسيطةtokenizerهيsplit: معلمة اختيارية تحدد سلاسل الفصل. إذا لم تُحدَّد صراحةً، فستكون القيمة الافتراضية[' '].const Array(String)min_length— يكون ذا صلة فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول gram، والقيمة الافتراضية هي 3.const UInt8max_length— يكون ذا صلة فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأقصى لطول gram، والقيمة الافتراضية هي 100.const UInt8min_cutoff_length— يكون ذا صلة فقط إذا كانت الوسيطةtokenizerهيsparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول القطع.const UInt8
Array
أمثلة
مقسِّم الرموز الافتراضي
Query
Response