> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات الجلسة لـ text_index_*

> إعدادات جلسة ClickHouse في مجموعة text_index_* المُنشأة.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "التعليق"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

هذه الإعدادات متاحة في [system.settings](/ar/reference/system-tables/settings)، وهي مُولَّدة تلقائيًا من [الملف المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="text_index_hint_max_selectivity">
  ## text\_index\_hint\_max\_selectivity
</div>

<SettingsInfoBlock type="Float" default_value="0.2" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "0.2"},{"label": "إعداد جديد"}]}]} />

الحد الأقصى لانتقائية عامل التصفية الذي يسمح باستخدام التلميح المُنشأ من الفهرس النصي المعكوس.

<div id="text_index_lazy_intersection_density_threshold">
  ## text\_index\_lazy\_intersection\_density\_threshold
</div>

**الأسماء البديلة**: `text_index_density_threshold`

<SettingsInfoBlock type="Float" default_value="0.2" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0.2"},{"label": "أُعيدت تسميته من `text_index_density_threshold` (مع الإبقاء عليه كاسم بديل)؛ ويحدّد خوارزمية تقاطع قوائم الإسناد في وضع التطبيق الكسول لقوائم الإسناد."}]}]} />

عتبة كثافة قوائم الإسناد التي تحدد خوارزمية التقاطع في وضع التطبيق الكسول لقوائم الإسناد (`text_index_posting_list_apply_mode = 'lazy'`).
دون العتبة: تقاطع leapfrog (يفضّل قوائم الإسناد المتفرقة). عند العتبة أو فوقها: تقاطع bitmap بأسلوب brute-force (يفضّل قوائم الإسناد الكثيفة).

<div id="text_index_like_max_postings_to_read">
  ## text\_index\_like\_max\_postings\_to\_read
</div>

<SettingsInfoBlock type="UInt64" default_value="50" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "50"},{"label": "إعداد جديد"}]}]} />

الحد الأقصى لعدد قوائم الإسناد الكبيرة التي تتم قراءتها عند تمكين تقييم LIKE في الفهرس النصي باستخدام فحص القاموس.

يتطلب تمكين `use_text_index_like_evaluation_by_dictionary_scan`.

<div id="text_index_like_min_pattern_length">
  ## text\_index\_like\_min\_pattern\_length
</div>

<SettingsInfoBlock type="UInt64" default_value="4" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "4"},{"label": "إعداد جديد"}]}]} />

الحد الأدنى لطول السلسلة الأبجدية الرقمية الهدف في نمط LIKE/ILIKE، واللازم لاستخدام تقييم LIKE في الفهرس النصي عبر فحص القاموس.
الأنماط الأقصر من هذه العتبة تطابق عددًا كبيرًا جدًا من الرموز القاموسية، لذا يتم تجاوزها لتجنّب عمليات فحص مكلفة.

يتطلب أن يكون `use_text_index_like_evaluation_by_dictionary_scan` مفعّلًا.

<div id="text_index_posting_list_apply_mode">
  ## text\_index\_posting\_list\_apply\_mode
</div>

<SettingsInfoBlock type="TextIndexPostingListApplyMode" default_value="lazy" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "lazy"},{"label": "تفك استعلامات الفهرس النصي الآن ترميز قوائم الإسناد عند الطلب باستخدام مؤشر بدلًا من تحويلها إلى Roaring Bitmaps، مما يقلل استخدام الذاكرة ووقت CPU للاستعلامات الانتقائية."}]}, {"id": "row-2","items": [{"label": "26.6"},{"label": "materialize"},{"label": "إعداد جديد لوضع التطبيق الكسول لقائمة الإسناد"}]}]} />

يتحكّم في كيفية تطبيق قوائم الإسناد أثناء استعلامات الفهرس النصي.
يقوم 'materialize' بفك ترميز قوائم الإسناد مسبقًا إلى Roaring Bitmaps.
يستخدم 'lazy' (الافتراضي) فك الترميز عند الطلب بالاعتماد على المؤشر (ويتطلب تنسيق فهرس يتضمّن codec مُسلسَلًا).
يُطبّق 'lazy' فقط حيثما يكون مدعومًا: إذ تعود الاستعلامات ذات الأنماط (مثل `LIKE`) والأجزاء ذات الفهرس المكتوب بإصدار أقدم إلى 'materialize'.
