Az OData $select szintaxisa a Azure Cognitive Search

Az OData $select megadhatja, hogy mely mezőket foglalja bele a keresési eredményekbe a Azure Cognitive Search. Ez a cikk részletesen ismerteti $select szintaxisát. A keresési eredmények $select való használatával kapcsolatos általánosabb információkért lásd: A keresési eredmények használata a Azure Cognitive Search.

Syntax

A $select paraméter határozza meg, hogy a lekérdezés eredményhalmaza mely mezőket adja vissza az egyes dokumentumokhoz. A következő EBNF (bővített Backus-Naur űrlap) határozza meg a $select nyelvtanát:

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

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

Egy interaktív szintaxisdiagram is elérhető:

Megjegyzés

A teljes EBNF-ről Azure Cognitive Search OData-kifejezések szintaxisának referenciája tartalmaz további adatokat.

A $select paraméter két formában létezik:

  1. Egyetlen csillag ( ), amely azt jelzi, hogy a rendszer az összes lekért mezőt * visszaadja, vagy
  2. Mezőútvonalak vesszővel elválasztott listája, amely meghatározza, hogy mely mezőket kell visszaadni.

A második űrlap használata esetén csak lekért mezőket lehet megadni a listában.

Ha az almezők explicit megadása nélkül listáz egy összetett mezőt, az összes lekérdezhető almező szerepelni fog a lekérdezés eredményhalmazában. Tegyük fel például, hogy az index tartalmaz egy , és almezőket is, amelyek Address Street mind City Country lekértek. Ha a Address következőt $select meg, a lekérdezés eredményei mindhárom almezőt tartalmazzák.

Példák

Az eredmények között szerepel a , a és a legfelső szintű mező, valamint a HotelId HotelName Rating City Address almezője:

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

Egy példa eredmény a következőre hasonlíthat:

{
  "HotelId": "1",
  "HotelName": "Secret Point Motel",
  "Rating": 4,
  "Address": {
    "City": "New York"
  }
}

Az eredményekbe foglalja bele a legfelső szintű mezőt, valamint a összes almezőit, valamint a gyűjteményben lévő egyes objektumok és HotelName Address Type BaseRate Rooms almezőit:

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

Egy példa eredmény a következőre hasonlíthat:

{
  "HotelName": "Secret Point Motel",
  "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
    }
  ]
}

Következő lépések