OData $select syntax in Azure الذكاء الاصطناعي Search

في Azure الذكاء الاصطناعي Search، يحدد معامل $select الحقول التي يجب تضمينها في نتائج البحث. تصف هذه المقالة صياغة OData ل $select وتقدم أمثلة.

يتم وصف بناء مسار الحقل والثوابت في نظرة عامة على لغة OData في Azure الذكاء الاصطناعي Search. لمزيد من المعلومات حول تركيب نتائج البحث، راجع كيفية التعامل مع نتائج البحث في Azure الذكاء الاصطناعي Search.

إعراب

يحدد معامل $select أي الحقول لكل مستند يتم إرجاعها في مجموعة نتائج الاستعلام. يحدد النموذج التالي EBNF (الشكل الموسع Backus-Naur) النحو لمعامل $select :

select_expression ::= '*' | field_path(',' field_path)*

field_path ::= identifier('/'identifier)*

يتوفر أيضا مخطط نحوي تفاعلي:

‏‫ملاحظة‬

راجع مرجع صياغة تعبيرات OData لبحث Azure الذكاء الاصطناعي للاطلاع على EBNF الكامل.

يأتي معامل $select في شكلين:

  1. نجمة واحدة (*)، تشير إلى أنه يجب إرجاع جميع الحقول القابلة للاسترجاع، أو
  2. قائمة بفاصل لمسارات الحقول، تحدد الحقول التي يجب إرجاعها.

عند استخدام النموذج الثاني، يمكنك تحديد الحقول القابلة للاسترجاع فقط في القائمة.

إذا قمت بإدراج حقل معقد دون تحديد حقول فرعية صراحة، تضمين جميع الحقول الفرعية القابلة للاسترجاع في مجموعة نتائج الاستعلام. على سبيل المثال، افترض أن فهرسك يحتوي على Address حقل يحتوي على Street، City، وحقول Country فرعية جميعها قابلة للاسترجاع. إذا حددت Address في $select، ستشمل نتائج الاستعلام جميع الحقول الفرعية الثلاثة.

Examples

تضمين الحقول HotelId، HotelName، و Rating المستوى العلوي في النتائج، وتضمين City الحقل الفرعي ل Address:

    $select=HotelId, HotelName, Rating, Address/City

قد يبدو المثال على النتيجة كالتالي:

{
  "HotelId": "1",
  "HotelName": "Stay-Kay City Hotel",
  "Rating": 4,
  "Address": {
    "City": "New York"
  }
}

أدرج HotelName الحقل الأعلى في النتائج. تضمين جميع الحقول الفرعية ل Address. أضف الحقول الفرعية Type لكل BaseRate كائن في المجموعة Rooms :

    $select=HotelName, Address, Rooms/Type, Rooms/BaseRate

قد يبدو المثال على النتيجة كالتالي:

{
  "HotelName": "Stay-Kay City Hotel",
  "Rating": 4,
  "Address": {
    "StreetAddress": "677 5th Ave",
    "City": "New York",
    "StateProvince": "NY",
    "Country": "USA",
    "PostalCode": "10022"
  },
  "Rooms": [
    {
      "Type": "Budget Room",
      "BaseRate": 9.69
    },
    {
      "Type": "Budget Room",
      "BaseRate": 8.09
    }
  ]
}

الخطوات التالية