Skip to main content
تم إنشاء الوثائق أدناه من جدول النظام system.functions.

alphaTokens

أُضيف في: v1.1.0 يستخرج مقاطع فرعية من بايتات متتالية ضمن النطاقين a-z و A-Z، ويُرجع مصفوفة من المقاطع الفرعية المستخرجة. البنية
الأسماء البديلة: splitByAlpha الوسائط
  • s — السلسلة النصية المراد تقسيمها. String
  • max_substrings — اختياري. عندما تكون max_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادة max_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية. Int64
القيمة المُعادة تعيد مصفوفة من السلاسل الفرعية الناتجة من s. Array(String) أمثلة مثال على الاستخدام
Query
Response

arrayStringConcat

أُضيف في: v1.1.0 يدمج التمثيلات النصية للقيم المدرجة في المصفوفة باستخدام الفاصل المُحدَّد، وهي معلمة اختيارية تُضبط افتراضيًا على سلسلة نصية فارغة. الصيغة
الأسماء المستعارة: array_to_string الوسيطات
  • arr — المصفوفة المطلوب دمج عناصرها. Array(T)
  • separator — اختياري. سلسلة الفاصل. تكون سلسلة فارغة افتراضيًا. const String
القيمة المعادة تُرجع السلسلة الناتجة عن الدمج. String أمثلة مثال على الاستخدام
Query
Response

extractAllGroupsVertical

مُقدَّم في: v20.5.0 يطابق جميع مجموعات السلسلة باستخدام تعبير نمطي ويُرجع مصفوفة من المصفوفات، بحيث تتضمن كل مصفوفة الأجزاء المطابقة من كل مجموعة، مُجمَّعةً وفق ترتيب ظهورها في سلسلة الإدخال. الصياغة
الأسماء البديلة: extractAllGroups الوسيطات القيمة المعادة يعيد مصفوفة من المصفوفات، بحيث تحتوي كل مصفوفة داخلية على المجموعات الملتقطة من مطابقة واحدة. وتنتج كل مطابقة مصفوفةً بعناصر تقابل المجموعات الملتقطة في التعبير النمطي (المجموعة 1، المجموعة 2، وهكذا). وإذا لم يتم العثور على أي مطابقات، فستُعاد مصفوفة فارغة. Array(Array(String)) أمثلة مثال على الاستخدام
Query
Response

naiveBayesNgrams

أُضيف في: v26.7.0 يقسّم النص إلى n-grams باستخدام أسلوب tokenization نفسه المستخدم في قاموس Naive Bayes (تخطيط NAIVE_BAYES): وضع byte أو codepoint أو token، مع حشو اختياري للحدود. استخدمه لإنشاء بيانات التدريب المجمّعة مسبقًا (ngram, class_id, count) التي يستهلكها هذا النوع من القواميس، بحيث تتطابق n-grams الخاصة بالتدريب تمامًا مع ما ينتجه naiveBayesClassifier وقت تنفيذ الاستعلام. البنية
المعاملات
  • text — النص المراد تقسيمه إلى مقاطع n-gram. String
  • n — حجم n-gram، من 1 إلى 1024. const UInt
  • mode — وضع تقسيم النص إلى رموز: ‘byte’ أو ‘codepoint’ أو ‘token’. const String
  • start_token — اختياري. رمز حدّي يُضاف إلى بداية الإدخال (n-1) مرة؛ يكون رقمًا مع ‘byte’/‘codepoint’، أو قيمة حرفية مع ‘token’. وتعني القيمة الفارغة عدم وجود حشو. const String
  • end_token — اختياري. رمز حدّي يُضاف إلى نهاية الإدخال (n-1) مرة. const String
القيمة المُعادة مقاطع n-gram للنص المُدخل. Array(String) أمثلة ثنائيات الرموز
Query
Response
ثنائيات التوكنات مع الحشو عند الحدود
Query
Response
ثنائيات البايت مع حشو الحدود (تُعرض النتيجة بالنظام الست عشري)
Query
Response
ثنائيات نقاط الترميز مع الحشو عند الحدود (النتيجة معروضة بالنظام الست عشري)
Query
Response

ngrams

تم تقديمه في: v21.11.0 يقسم سلسلة UTF-8 إلى n-grams بطول N. الصياغة
الوسيطات القيمة المُعادة تعيد مصفوفة من n-grams. Array(String) أمثلة مثال على الاستخدام
Query
Response

reverseBySeparator

أُضيفت في: v26.2.0 تعكس ترتيب السلاسل الفرعية في سلسلة نصية مفصولة بفاصل محدد. تقسم هذه الدالة السلسلة النصية باستخدام الفاصل، ثم تعكس ترتيب الأجزاء الناتجة، وتضمّها مجددًا باستخدام الفاصل نفسه. وهي مفيدة لتحليل أسماء النطاقات، ومسارات الملفات، أو أي بيانات هرمية أخرى تحتاج فيها إلى عكس ترتيب المكوّنات. أمثلة:
  • reverseBySeparator(‘www.google.com’) تعيد ‘com.google.www’
  • reverseBySeparator(‘a/b/c’, ’/’) تعيد ‘c/b/a’
  • reverseBySeparator(‘x::y::z’, ’::’) تعيد ‘z::y::x’
بناء الجملة
الوسيطات
  • string — سلسلة الإدخال المطلوب عكس ترتيب أجزائها. String
  • separator — سلسلة الفاصل المستخدمة لتحديد الأجزاء. إذا لم يتم توفيرها، فسيُستخدم ’.’ (نقطة). القيمة الافتراضية: ’.’ String
القيمة المُعادة تعيد سلسلة تكون فيها المقاطع الفرعية مرتبة من اليمين إلى اليسار مقارنةً بالسلسلة الأصلية، ومتصلة باستخدام الفاصل نفسه. String أمثلة عكس اسم النطاق الأساسي
Query
Response
عكس ترتيب المسار
Query
Response
فاصل مخصص
Query
Response
حالة خاصة عند استخدام النقاط
Query
Response
عنصر واحد
Query
Response
فاصل فارغ
Query
Response

splitByChar

أُضيف في: v1.1.0 يُقسِّم سلسلة نصية مفصولة بالسلسلة الثابتة المحددة separator، والتي يجب أن تتكوّن من محرف واحد تمامًا، إلى مصفوفة من السلاسل الفرعية. قد تُحدَّد سلاسل فرعية فارغة إذا ظهر الفاصل في بداية السلسلة أو نهايتها، أو إذا وُجدت عدة فواصل متتالية.
يتحكّم الإعداد splitby_max_substrings_includes_remaining_string (القيمة الافتراضية: 0) في ما إذا كانت السلسلة المتبقية ستُضمَّن في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.
قد تُحدَّد سلاسل فرعية فارغة في الحالات التالية:
  • ظهور فاصل في بداية السلسلة أو نهايتها
  • وجود عدة فواصل متتالية
  • إذا كانت السلسلة الأصلية s فارغة
الصياغة
الوسيطات
  • separator — يجب أن يكون الفاصل حرفًا من بايت واحد. String
  • s — السلسلة المراد تقسيمها. String
  • max_substrings — اختياري. إذا كانت max_substrings > 0، فستتضمن المصفوفة المُعادة max_substrings من السلاسل الفرعية كحد أقصى، وإلا فستُرجع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية هي 0. Int64
القيمة المعادة تُرجع مصفوفة من السلاسل الفرعية المحددة. Array(String) أمثلة مثال على الاستخدام
Query
Response

splitByNonAlpha

أُضيف في: v21.9.0 يقسم السلسلة النصية، المفصولة بمحارف المسافات البيضاء وعلامات الترقيم، إلى مصفوفة من السلاسل الفرعية.
يحدد الإعداد splitby_max_substrings_includes_remaining_string (القيمة الافتراضية: 0) ما إذا كان سيتم تضمين السلسلة المتبقية في العنصر الأخير من مصفوفة النتائج عندما تكون الوسيطة max_substrings > 0.
البنية
المعاملات
  • s — السلسلة النصية المراد تقسيمها. String
  • max_substrings — اختياري. عندما تكون قيمة max_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادة max_substrings، وإلا فستُرجِع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية: 0. Int64
القيمة المُعادة تُرجِع مصفوفة من السلاسل الفرعية المحددة لـ s. Array(String) أمثلة مثال على الاستخدام
Query
Response

splitByRegexp

أُضيف في: v21.6.0 يقسّم سلسلة مفصولة بالتعبير النمطي المُعطى إلى مصفوفة من السلاسل الفرعية. إذا كان التعبير النمطي المُعطى فارغًا، فسيقسّم السلسلة إلى مصفوفة من المحارف المفردة. إذا لم يتم العثور على أي تطابق للتعبير النمطي، فلن يتم تقسيم السلسلة. قد تظهر سلاسل فرعية فارغة في الحالات التالية:
  • إذا وقع تطابق غير فارغ للتعبير النمطي في بداية السلسلة أو نهايتها
  • إذا وُجدت عدة تطابقات غير فارغة ومتتالية للتعبير النمطي
  • إذا كانت السلسلة الأصلية فارغة بينما التعبير النمطي غير فارغ.
يحدّد الإعداد splitby_max_substrings_includes_remaining_string (الافتراضي: 0) ما إذا كانت السلسلة المتبقية ستُدرج في العنصر الأخير من المصفوفة الناتجة عندما تكون قيمة max_substrings > 0.
البنية
المعاملات
  • regexp — تعبير نمطي. ثابت. String أو FixedString
  • s — السلسلة المراد تقسيمها. String
  • max_substrings — اختياري. عندما تكون max_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادة القيمة max_substrings، وإلا فستُرجع الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية: 0. Int64
القيمة المُعادة تُرجع مصفوفة من السلاسل الفرعية المحددة من s. Array(String) أمثلة مثال على الاستخدام
Query
Response
تعبير نمطي فارغ
Query
Response

splitByString

أُضيف في: v1.1.0 يقسّم سلسلة نصية باستخدام separator ثابت يتكوّن من عدة أحرف إلى مصفوفة من السلاسل الفرعية. إذا كانت السلسلة النصية separator فارغة، فسيُقسَّم النص s إلى مصفوفة من الأحرف المفردة. قد تظهر سلاسل فرعية فارغة في الحالات التالية:
  • إذا ظهر فاصل غير فارغ في بداية السلسلة النصية أو نهايتها
  • إذا وُجدت عدة فواصل غير فارغة متتالية
  • إذا كانت السلسلة النصية الأصلية s فارغة وكان الفاصل غير فارغ
يتحكّم الإعداد splitby_max_substrings_includes_remaining_string (الافتراضي: 0) في ما إذا كانت السلسلة النصية المتبقية ستُدرج في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.
البنية
الوسائط
  • separator — الفاصل. String
  • s — السلسلة النصية المراد تقسيمها. String
  • max_substrings — اختياري. عندما تكون max_substrings > 0، لن يزيد عدد السلاسل الفرعية المُعادة عن max_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية: 0. Int64
القيمة المُعادة تُعيد مصفوفة من السلاسل الفرعية الناتجة من s Array(String) أمثلة مثال على الاستخدام
Query
Response
فاصل فارغ
Query
Response

splitByWhitespace

أُضيفت في: v21.9.0 تقسم سلسلة نصية مفصولة بمحارف المسافات البيضاء إلى مصفوفة من السلاسل الفرعية.
يتحكم الإعداد splitby_max_substrings_includes_remaining_string (الافتراضي: 0) في ما إذا كان الجزء المتبقي من السلسلة النصية يُدرج في العنصر الأخير من مصفوفة النتيجة عندما تكون الوسيطة max_substrings > 0.
الصياغة
الوسيطات
  • s — السلسلة المطلوب تقسيمها. String
  • max_substrings — اختياري. عندما تكون قيمة max_substrings > 0، لن يتجاوز عدد السلاسل الفرعية المُعادة max_substrings، وإلا فستُعيد الدالة أكبر عدد ممكن من السلاسل الفرعية. القيمة الافتراضية: 0. Int64
القيمة المعادة تعيد مصفوفة من السلاسل الفرعية المختارة من s. Array(String) أمثلة مثال على الاستخدام
Query
Response

tokens

أُضيف في: v21.11.0 يقسّم سلسلة نصية إلى رموز باستخدام مُقسِّم الرموز المحدد. مُقسِّمات الرموز المتاحة:
  • splitByNonAlpha يقسّم السلاسل النصية عند محارف ASCII غير الأبجدية الرقمية (راجع أيضًا الدالة splitByNonAlpha).
  • splitByString(S) يقسّم السلاسل النصية باستخدام سلاسل الفواصل S التي يحدّدها المستخدم (راجع أيضًا الدالة splitByString). يمكن تحديد الفواصل باستخدام معلمة اختيارية، على سبيل المثال: tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). لاحظ أن كل سلسلة يمكن أن تتكوّن من عدة محارف (', ' في المثال). قائمة الفواصل الافتراضية، إذا لم تُحدَّد صراحةً، هي مسافة بيضاء واحدة [' '].
  • asciiCJK يقسّم السلاسل النصية إلى رموز باستخدام قواعد حدود الكلمات في Unicode (على غرار UAX #29). وتُشكّل محارف ASCII الأبجدية الرقمية والشرطات السفلية رموزًا مع الموصلات (: للحروف، و. و' للمحارف من النوع نفسه). أما محارف Unicode غير التابعة لـ ASCII فتتحول إلى رموز من محرف واحد.
  • chinese يقسّم النص الصيني إلى كلمات باستخدام قاموس ونموذج ماركوف مخفي (تتبع الخوارزمية jieba؛ وتُشتق بيانات القاموس والنموذج المضمّنة من cppjieba). وعلى خلاف asciiCJK، الذي يعامل كل محرف غير تابع لـ ASCII كرمز من محرف واحد، يجمع chinese المحارف الصينية المتتالية في كلمات، مما ينتج رموزًا أكثر معنى وجودة بحث أعلى للنص الصيني. تكون وسيطة granularity الاختيارية إما coarse_grained (الافتراضي) أو fine_grained؛ ويقوم الأخير أيضًا بتعداد الكلمات الفرعية المتداخلة، مما يحسّن الاستدعاء على حساب فهرس أكبر.
  • icu(locale) يقسّم السلاسل النصية إلى رموز كلمات باستخدام تجزئة كلمات Unicode في مكتبة ICU (UAX #29). بالنسبة إلى أنظمة الكتابة التي لا تستخدم مسافات بيضاء بين الكلمات (مثل الصينية واليابانية والتايلاندية)، تطبّق ICU تجزئة قائمة على القاموس، لذا يُقسَّم هذا النص إلى كلمات ذات معنى. تمثل locale الإعدادات المحلية لـ ICU التي تُمرَّر إلى المُقسِّم (يعتمد التقسيم أساسًا على نظام الكتابة والقاموس؛ وتحدد الإعدادات المحلية التخصيصات الخاصة بالإعدادات المحلية في ICU)؛ وهي إلزامية وتُمرَّر كمعامل منفصل، على سبيل المثال: tokens(value, 'icu', 'ja').
  • japanese يقسّم النص الياباني إلى كلمات باستخدام المحلل الصرفي MeCab. يتطلب قاموسًا مُعدًا في تكوين الخادم (راجع وثائق فهرس النص).
  • 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)، ينتج مُقسِّم الرموز sparseGrams N-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 أو FixedString
  • tokenizer — مُقسِّم الرموز المراد استخدامه. الوسيطات الصالحة هي splitByNonAlpha وsplitByString وasciiCJK وchinese وicu وjapanese وngrams وsparseGrams وarray. هذا الوسيط اختياري، وإذا لم يُحدَّد صراحةً، فالقيمة الافتراضية هي splitByNonAlpha. const String
  • locale — ينطبق فقط إذا كانت الوسيطة tokenizer هي icu: الإعدادات المحلية الإلزامية، مثل 'ja'. const String
  • n — ينطبق فقط إذا كانت الوسيطة tokenizer هي ngrams: معلمة اختيارية تحدد طول الـ ngrams. إذا لم تُحدَّد صراحةً، فالقيمة الافتراضية هي 3. const UInt8
  • separators — ينطبق فقط إذا كانت الوسيطة tokenizer هي split: معلمة اختيارية تحدد سلاسل الفواصل. إذا لم تُحدَّد صراحةً، فالقيمة الافتراضية هي [' ']. const Array(String)
  • min_length — ينطبق فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول الـ gram، والقيمة الافتراضية هي 3. const UInt8
  • max_length — ينطبق فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأقصى لطول الـ gram، والقيمة الافتراضية هي 100. const UInt8
  • min_cutoff_length — ينطبق فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول القطع. const UInt8
  • granularity — ينطبق فقط إذا كانت الوسيطة tokenizer هي chinese: معلمة اختيارية، إما coarse_grained (الافتراضية) أو fine_grained، تتحكم في دقة التقسيم. const String
القيمة المعادة تعيد مصفوفة الرموز الناتجة من سلسلة الإدخال. Array أمثلة مُقسِّم الرموز الافتراضي
Query
Response
مُقسِّم رموز Ngram
Query
Response

tokensForLikePattern

أُضيف في: v26.3.0 تُقسِّم هذه الدالة سلسلة نمط LIKE إلى رموز باستخدام مُقسِّم الرموز المحدد. وعلى عكس الدالة tokens، فإن هذه الدالة تراعي دلالات نمط LIKE (مثل محارف البدل في البداية والنهاية)، وتطبّق قواعد خاصة بكل مُقسِّم الرموز لاستخراج رموز ذات معنى لأغراض Pattern matching. وهي تدعم مجموعات الوسائط نفسها التي تدعمها الدالة tokens، مع بعض الاستثناءات: مُقسِّما الرموز chinese وicu غير مدعومين هنا. لا يكون تقسيم النص إلى رموز لأنماط LIKE ذا معنى إلا لمُقسِّمات الرموز التي تختار صراحةً دعم دلالات LIKE (supportsStringLike()). يؤدي استدعاء tokensForLikePattern باستخدام مُقسِّم رموز غير مدعوم إلى ظهور BAD_ARGUMENTS؛ استخدم tokens العادية بدلًا من ذلك. تُفسَّر الوسائط الإضافية بعد tokenizer وفقًا للـ مُقسِّم الرموز المحدد (على سبيل المثال، n من أجل ngrams، وseparators من أجل splitByString، وmin_length / max_length [/ min_cutoff_length] من أجل sparseGrams). هذه الدالة مخصّصة أساسًا لأغراض تصحيح الأخطاء والاختبار، وتُستخدم داخليًا لتحليل سلوك تقسيم النص إلى رموز لأنماط LIKE. بناء الجملة
وسيطات الدالة
  • value — سلسلة الإدخال. String أو FixedString
  • tokenizer — مُقسِّم الرموز المراد استخدامه. الوسيطات الصالحة هي splitByNonAlpha وsplitByString وasciiCJK وngrams وsparseGrams وarray. هذا الوسيط اختياري، وإذا لم يُحدَّد صراحةً، فستكون القيمة الافتراضية splitByNonAlpha. const String
  • locale — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي icu: الإعدادات المحلية الإلزامية، مثل 'ja'. const String
  • n — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي ngrams: معلمة اختيارية تحدد طول ngrams. إذا لم تُحدَّد صراحةً، فستكون القيمة الافتراضية 3. const UInt8
  • separators — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي split: معلمة اختيارية تحدد سلاسل الفواصل. إذا لم تُحدَّد صراحةً، فستكون القيمة الافتراضية [' ']. const Array(String)
  • min_length — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول gram، والقيمة الافتراضية هي 3. const UInt8
  • max_length — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأقصى لطول gram، والقيمة الافتراضية هي 100. const UInt8
  • min_cutoff_length — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي sparseGrams: معلمة اختيارية تحدد الحد الأدنى لطول القطع. const UInt8
  • granularity — يكون ذا صلة فقط إذا كانت الوسيطة tokenizer هي chinese: معلمة اختيارية، إما coarse_grained (الافتراضي) أو fine_grained، تتحكم في دقة التقسيم. const String
القيمة المعادة يعيد مصفوفة الرموز الناتجة من سلسلة الإدخال. Array أمثلة مُقسِّم الرموز الافتراضي
Query
Response
آخر تعديل في ١٨ أغسطس ٢٠٢٦