البحث هو [[الإضافات الأساسية|مكوّن إضافي أساسي]] يساعدك في العثور على البيانات في خزنة Obsidian الخاصة بك باستخدام مصطلحات البحث والعوامل لتضييق النتائج. بشكل افتراضي، يمكنك العثور على البحث في الشريط الجانبي الأيسر ![[lucide-search.svg#icon]]. يمكنك أيضًا فتح البحث بالضغط على `Ctrl+Shift+F` (في Windows/Linux) أو `Command+Shift+F` (في macOS). - **البحث في النص المحدد**: إذا حددت نصًا في المحرر وفتحت البحث باستخدام اختصار لوحة المفاتيح، يعرض لك البحث نتائج البحث للنص المحدد. - **البحث في مصطلحات البحث الأخيرة**: افتح البحث بمصطلح بحث فارغ لعرض مصطلحات البحث الأخيرة. انقر على أي منها لاستخدام مصطلح البحث مرة أخرى. > [!info] الملفات المستبعدة > الملفات التي تطابق أنماط [[الإعدادات#الملفات المستبعدة|الملفات المستبعدة]] لن تظهر في نتائج البحث. ## مصطلحات البحث مصطلح البحث هو الكلمة أو العبارة التي تدخلها في حقل البحث. تعلم كيفية كتابة مصطلحات البحث بفعالية يمكن أن يساعدك في العثور بسرعة على ما تبحث عنه، حتى في الخزائن الكبيرة. يبحث Obsidian فقط في محتويات الملاحظات وملفات Canvas. > [!tip]- البحث في المسارات وأسماء الملفات > بشكل افتراضي، يمكنك فقط البحث في مسارات وأسماء ملفات الملاحظات وملفات Canvas. للبحث عن مسار أو اسم ملف لأي ملف في الخزنة، استخدم عامل `path` أو `file`. تتم مطابقة كل كلمة في مصطلح البحث بشكل مستقل داخل كل ملف. للبحث عن عبارة بالضبط، أحطها بعلامات اقتباس، مثل `"star wars"`. للبحث عن نص مقتبس داخل عبارة دقيقة، يمكنك _تخطي_ علامات الاقتباس بإضافة شرطة مائلة عكسية (`\`) قبل علامة الاقتباس، مثل `"they said \"hello\" to each other"`. يمكنك التحكم فيما إذا كنت تريد إرجاع الملفات التي تحتوي على _جميع_ الكلمات في مصطلح البحث الخاص بك، أو _أي_ من الكلمات: - `meeting work` يُرجع الملفات التي تحتوي على كل من `meeting` و `work`. - `meeting OR work` يُرجع الملفات التي تحتوي على `meeting` أو `work`. يمكنك حتى الجمع بين الاثنين في نفس مصطلح البحث. - `meeting work OR meetup personal` يُرجع ملفات اجتماعات العمل واللقاءات الشخصية. يمكنك استخدام الأقواس للتحكم في أولوية كل تعبير. - `meeting (work OR meetup) personal` يُرجع الملفات التي تحتوي على `meeting` و `personal` وإما `work` أو `meetup`. لاستبعاد كلمة من نتائج البحث أو نفيها، أضف شرطة (`-`) قبلها: - `meeting -work` يُرجع الملفات التي تحتوي على `meeting` ولكن ليس `work`. يمكنك استبعاد تعبيرات متعددة: - `meeting -work -meetup` يُرجع الملفات التي تحتوي على `meeting` ولكن ليس `work` أو `meetup`. يمكنك استبعاد مجموعة من التعبيرات باستخدام الأقواس: - `meeting -(work meetup)` يُرجع الملفات التي تحتوي على `meeting` ولكن ليس _كلاً من_ `work` و `meetup`. لتصفية النتائج باستخدام عوامل أصغر من (`<`) وأكبر من (`>`)، أحطها بأقواس مربعة (`[]`) أو علامات اقتباس (`""`): - `meeting [duration:<5]` يُرجع الملفات التي يوجد فيها meeting، والمدة أقل من 5. - `meeting [duration:>5]` يُرجع الملفات التي يوجد فيها meeting، والمدة أكبر من 5. > [!tip]- شرح مصطلح البحث > إذا كنت بحاجة إلى تصحيح أخطاء مصطلح بحث معقد، يمكنك النقر على **شرح مصطلح البحث** في البحث للحصول على شرح لمصطلح البحث الخاص بك. ## عوامل البحث تتيح عوامل البحث مصطلحات بحث أكثر دقة لتصفية نتائجك بشكل أكبر. بعض العوامل تسمح لك حتى بإضافة مصطلح بحث متداخل داخل أقواس، مثل: `task:(call OR email)`. | عامل البحث | الوصف | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `file:` | البحث عن نص في اسم الملف. يطابق أي ملف في الخزنة.<p/>مثال: `file:.jpg` أو `file:202209`. | | `path:` | البحث عن نص في مسار الملف. يطابق أي ملف في الخزنة.<p/>مثال: `path:"Daily notes/2022-07"`. | | `content:` | البحث عن نص في محتوى الملف.<p/>مثال: `content:"happy cat"`. | | `match-case:` | مطابقة حساسة لحالة الأحرف.<p/>مثال: `match-case:HappyCat`. | | `ignore-case:` | مطابقة غير حساسة لحالة الأحرف.<p/>مثال: `ignore-case:ikea`. | | `tag:` | البحث عن وسم في الملف.<p/>مثال: `tag:#work`.<p/>ضع في اعتبارك أن البحث عن `tag:#work` لن يُرجع نتائج لـ `#myjob/work`.<br /><br />**ملاحظة**: نظرًا لأن `tag:` يتجاهل المطابقات في كتل التعليمات البرمجية وفي المحتوى غير Markdown، فإنه غالبًا ما يكون أسرع وأكثر دقة من البحث العادي في النص الكامل عن `#work`. | | `line:` | البحث عن الملفات التي تحتوي على سطر واحد على الأقل يطابق `x`.<p/>مثال: `line:(mix flour)`.<p/><br>**ملاحظة:** استخدام `-line` ينفي البحث، مما يعني أنه سيجد الملفات التي لا يطابق أي سطر فيها `x`. | | `block:` | البحث عن المطابقات في نفس الكتلة.<p/>مثال: `block:(dog cat)`.<p/>**ملاحظة**: نظرًا لأن `block:` يتطلب من البحث تحليل محتوى Markdown في كل ملف، فقد يتسبب في أن يستغرق مصطلح البحث وقتًا أطول للانتهاء. | | `section:` | البحث عن المطابقات في نفس القسم (النص بين عنوانين).<p/>مثال: `section:(dog cat)`. | | `task:` | البحث عن المطابقات في [[صيغة التنسيق الأساسي#قوائم المهام\|مهمة]] على أساس كتلة بكتلة.<p/>مثال: `task:call`. | | `task-todo:` | البحث عن المطابقات في [[صيغة التنسيق الأساسي#قوائم المهام\|مهمة]] *غير مكتملة* على أساس كتلة بكتلة.<p/>مثال: `task-todo:call`. | | `task-done:` | البحث عن المطابقات في [[صيغة التنسيق الأساسي#قوائم المهام\|مهمة]] *مكتملة* على أساس كتلة بكتلة.<p/>مثال: `task-done:call`. | ## البحث في الخصائص يمكنك استخدام البيانات المخزنة في [[الخصائص]] في مصطلحات البحث الخاصة بك. استخدم الأقواس حول اسم الخاصية `[property]` لإرجاع الملفات التي تحتوي على تلك الخاصية: - `[aliases]` يُرجع الملفات التي تحتوي على خاصية `aliases` استخدم الأقواس ونقطتين `[property:value]` لإرجاع الملفات التي تحتوي على تلك الخاصية والقيمة: - `[aliases:Name]` يُرجع الملفات التي تكون فيها قيمة خاصية `aliases` هي `Name` استخدم `null` كقيمة للبحث عن الخصائص التي ليس لها قيمة: - `[aliases:null]` يُرجع الملفات التي توجد فيها خاصية `aliases` ولكن ليس لها قيمة > [!info]+ القيم الفارغة > يعمل عامل `null` عندما تكون الخاصية فارغة (مثل `aliases: `)، ولكن ليس عندما تحتوي الخاصية على علامات اقتباس فارغة (`""`) أو أقواس فارغة (`[]`). كل من الخاصية والقيمة تسمحان باستعلامات فرعية، مثل الأقواس للتجميع، وعامل `OR`، وعلامات الاقتباس المزدوجة للمطابقة الدقيقة، والتعبيرات النمطية. - `[status:Draft OR Published]` يُرجع الملفات التي تكون فيها قيمة خاصية `status` هي `Draft` أو `Published` ## تغيير حساسية حالة الأحرف بشكل افتراضي، مصطلحات البحث ليست حساسة لحالة الأحرف. إذا كنت تريد البحث عن الحالة الدقيقة لمصطلح البحث الخاص بك، حدد **مطابقة الحالة** ![[obsidian-icon-upper-lowercase.svg#icon]] داخل شريط البحث. يمكن تبديل هذا الإعداد. إذا كانت أيقونة **مطابقة الحالة** مميزة، فهذا يعني أنك تقوم حاليًا ببحث حساس لحالة الأحرف. ## تغيير ترتيب فرز النتائج 1. أدخل [[#مصطلحات البحث|مصطلح بحث]]. 2. أسفل حقل البحث، حدد القائمة المنسدلة على اليمين. 3. حدد ترتيب الفرز الذي تريده. الافتراضي هو "اسم الملف (أ إلى ي)". الخيارات المتاحة هي: - اسم الملف (أ إلى ي) - اسم الملف (ي إلى أ) - وقت التعديل (الأحدث إلى الأقدم) - وقت التعديل (الأقدم إلى الأحدث) - وقت الإنشاء (الأحدث إلى الأقدم) - وقت الإنشاء (الأقدم إلى الأحدث) ## نسخ نتائج البحث 1. أدخل [[#مصطلحات البحث|مصطلح بحث]]. 2. أسفل حقل البحث، حدد أيقونة النقاط الثلاث بجوار عدد النتائج. 3. حدد **نسخ نتائج البحث**. ## استخدام التعبيرات النمطية التعبير النمطي هو مجموعة من الأحرف التي تصف نمط نصي. لاستخدام التعبيرات النمطية في مصطلح البحث الخاص بك، أحط التعبير بشرطات مائلة أمامية (`/`). - `/\d{4}-\d{2}-\d{2}/` يطابق تاريخ ISO 8601، مثل 2022-01-01. يمكنك حتى الجمع بين التعبيرات النمطية وعوامل البحث: - `path:/\d{4}-\d{2}-\d{2}/` يُرجع الملفات التي تحتوي على تاريخ في مسار الملف. لمزيد من المعلومات حول كيفية كتابة التعبيرات النمطية، راجع [دليل Regex العملي](https://www.freecodecamp.org/news/practical-regex-guide-with-real-life-examples/) من FreeCodeCamp أو [التعبيرات النمطية](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) من Mozilla. > [!info]+ تعبيرات نمطية بنكهة JavaScript > تأتي التعبيرات النمطية بنكهات مختلفة قد تبدو مختلفة عن بعضها البعض. يستخدم Obsidian تعبيرات نمطية بنكهة JavaScript. ## تهيئة إعدادات البحث لتهيئة البحث، حدد **إعدادات البحث** ![[lucide-sliders-horizontal.svg#icon]] على الجانب الأيمن من شريط البحث لرؤية مفاتيح التبديل. | الإعداد | الوصف | |-------------------------|-----------------------------------------------------------------------------| | **شرح مصطلح البحث** | يفكك مصطلحات البحث ويشرحها بنص عادي. | | **طي النتائج** | يتحكم في عرض سياق البحث أو إخفائه. | | **عرض المزيد من السياق** | يوسع نتيجة البحث لإظهار المزيد من النص حول المطابقة. | ## تضمين نتائج البحث في ملاحظة لتضمين نتائج البحث في ملاحظة، أضف كتلة تعليمات برمجية `query`: ```` ```query embed OR search ``` ```` لا يدعم [[مقدمة عن Obsidian Publish|Obsidian Publish]] [[قيود Publish#البحث|نتائج البحث]] المضمنة. لرؤية مثال مُصيَّر مباشر، استخدم كتلة التعليمات البرمجية أعلاه داخل خزنتك. ![[search-query-rendered.png]]