> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# البداية السريعة

> زوّد نفسك بمفتاح ConareDB، وأدرج صفوفاً بمتجهات في مساحة أسماء، وشغّل بحثاً هجيناً متجهياً وبكلمة مفتاحية وزمنياً في ثلاثة طلبات فقط.

<Steps>
  <Step title="احصل على مفتاح">
    زوّد نفسك بمفتاح `cdb_...` من [وحدة تحكم ConareDB](https://db.conare.ai). المفاتيح محدَّدة بنطاق بادئة مساحة الأسماء لديك مع صلاحيات `read`/`write`، تُعرض مرة واحدة، وتُرسل كرمز Bearer:

    ```bash theme={null}
    export CONAREDB_API_KEY='cdb_...'
    ```
  </Step>

  <Step title="اكتب صفوفاً">
    تُنشأ مساحات الأسماء عند أول عملية كتابة — بلا مخطط، بلا مراسم. كل صف عقدة بمُعرّف خارجي `id` وخصائص ومتجه اختياري. بُعد المتجه ثابت من أول عملية كتابة تحمل متجهاً ويُتحقَّق منه في كل ما يليها.

    ```bash theme={null}
    curl -s https://db.conare.ai/v1/namespaces/acme-docs/query \
      -H "Authorization: Bearer $CONAREDB_API_KEY" \
      -d '{
        "request_type": "write",
        "query": {
          "queries": [{"Query": {"name": "w", "condition": null, "steps": [
            {"UpsertN": {"id": "chunk-123", "label": "chunk",
              "props": {"text": "Refund policy: 30 days, no questions.", "created_at_ms": 1720000000000, "project": "docs"},
              "vector": [0.0123, -0.0456]}}
          ]}}],
          "returns": ["w"]
        }
      }'
    ```

    `UpsertN` استبدال كامل للصف مُفتاحه `id` — اكتب `id` نفسه مرة أخرى وسيُستبدل الصف القديم (ومتجهه)، ولا يُدمج.
  </Step>

  <Step title="ابحث">
    يُشغّل طلب واحد ما يصل إلى ثلاثة فروع مُرتَّبة — ANN متجهي، وكلمة مفتاحية BM25، وزمني — على مجموعة الصفوف المُصفَّاة نفسها:

    ```bash theme={null}
    curl -s https://db.conare.ai/v1/namespaces/acme-docs/search \
      -H "Authorization: Bearer $CONAREDB_API_KEY" \
      -d '{
        "label": "chunk",
        "filter": ["project", "Eq", "docs"],
        "include_props": ["text"],
        "branches": {
          "vector":  {"embedding": [0.0119, -0.0442], "top_k": 10},
          "keyword": {"query": "refund policy", "top_k": 10}
        }
      }'
    ```

    ```json theme={null}
    {
      "vector":  {"hits": [{"id": "chunk-123", "score": 0.98, "props": {"text": "..."}}], "server_us": 412},
      "keyword": {"hits": [{"id": "chunk-123", "score": 14.2, "props": {"text": "..."}}], "mode": "and", "server_us": 200}
    }
    ```

    تُعيد الفروع قوائم مُرتَّبة مستقلة لتتحكم أنت في الدمج (RRF أو أي طريقة أخرى) على جانب العميل — نفس البنية التي يستخدمها مستوى ذاكرة Conare نفسه.
  </Step>
</Steps>

<Note>
  هل تحتاج متجهات؟ `POST /api/v1/embeddings` في [واجهة التضمينات](/embeddings/overview) تُعيد متجهات موحّدة الطول ذات 1024 بُعداً جاهزة للتخزين.
</Note>

التالي: [مرجع البحث](/db/search) الكامل، أو [الكتابات والاستيعاب المجمّع](/db/writes)، أو [مساحات الأسماء والمفاتيح](/db/namespaces).
