Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
W usłudze Wyszukiwanie AI platformy Azure parametr $orderby określa niestandardową kolejność sortowania wyników wyszukiwania. W tym artykule opisano składnię OData $orderby i przedstawiono przykłady.
Konstrukcja i stałe ścieżki pola są opisane w omówieniu języka OData w usłudze Wyszukiwanie AI platformy Azure. Aby uzyskać więcej informacji na temat zachowań sortowania, zobacz Porządkowanie wyników.
Składnia
Parametr $orderby akceptuje listę rozdzielaną przecinkami maksymalnie 32 klauzul porządkowania. Składnia klauzuli order-by jest opisana przez następującą EBNF (Rozszerzoną Formą Backusa-Naura):
order_by_clause ::= (field_path | sortable_function) ('asc' | 'desc')?
sortable_function ::= geo_distance_call | 'search.score()'
Dostępny jest również interakcyjny diagram składni:
Uwaga
Zobacz dokumentację składni wyrażeń OData dla usługi Wyszukiwanie AI platformy Azure, aby zapoznać się z pełną EBNF.
Każda klauzula ma kryteria sortowania, z opcjonalnym wskazaniem kierunku sortowania (asc dla rosnącego lub desc malejącego). Jeśli nie określisz kierunku, wartość domyślna to rosnąco. Jeśli w polu znajdują się wartości null, wartości null są wyświetlane jako pierwsze, jeśli sortowanie to asc i ostatnie, jeśli sortowanie to desc.
Kryteria sortowania mogą być ścieżką sortable pola lub wywołaniem funkcji geo.distance lub search.score .
W przypadku pól ciągów zostanie użyta domyślna kolejność sortowania ASCII i domyślna kolejność sortowania Unicode. Domyślnie sortowanie uwzględnia wielkość liter, ale można użyć normalizatora , aby wstępnie przetworzyć tekst przed sortowaniem, aby zmienić to zachowanie. Można również użyć normalizatora asciifolding , aby przekonwertować znaki inne niż ASCII na ich odpowiednik ASCII, jeśli istnieje.
Jeśli wiele dokumentów ma takie same kryteria sortowania, a search.score funkcja nie jest używana (na przykład jeśli sortujesz według pola liczbowego Rating i trzy dokumenty mają ocenę 4), powiązania zostaną przerwane według wyniku dokumentu w kolejności malejącej. Gdy wyniki dokumentu są takie same (na przykład w przypadku braku zapytania wyszukiwania pełnotekstowego określonego w żądaniu), względne uporządkowanie powiązanych dokumentów jest nieokreślone.
Można określić wiele kryteriów sortowania. Kolejność wyrażeń określa ostateczną kolejność sortowania. Na przykład, aby posortować według wyniku malejąco, a następnie według oceny, składnia to $orderby=search.score() desc,Rating desc.
Składnia dla geo.distance w $orderby jest taka sama jak w $filter. W przypadku używania geo.distance w $orderby pole, do którego ma zastosowanie, musi mieć typ Edm.GeographyPoint i musi również być sortable.
Składnia dla search.score w $orderby to search.score(). Funkcja search.score nie pobiera żadnych parametrów.
Przykłady
Sortuj hotele rosnąco według stawki bazowej:
$orderby=BaseRate asc
Sortuj hotele malejąco według klasyfikacji, a następnie rosnąco według stawki bazowej (pamiętaj, że rosnąco jest wartością domyślną):
$orderby=Rating desc,BaseRate
Sortuj hotele malejąco według klasyfikacji, a następnie rosnąco według odległości od podanych współrzędnych:
$orderby=Rating desc,geo.distance(Location, geography'POINT(-122.131577 47.678581)') asc
Sortuj hotele w kolejności malejącej według parametrów search.score i rating, a następnie w kolejności rosnącej według odległości od podanych współrzędnych. Między dwoma hotelami o identycznych wskaźnikach istotności i ocenach, najbliższy jest wymieniony jako pierwszy.
$orderby=search.score() desc,Rating desc,geo.distance(Location, geography'POINT(-122.131577 47.678581)') asc
Zobacz też
- Jak pracować z wynikami wyszukiwania w usłudze Wyszukiwanie AI platformy Azure
- Omówienie języka wyrażeń OData dla usługi Wyszukiwanie AI platformy Azure
- Dokumentacja składni wyrażeń OData dla usługi Wyszukiwanie AI platformy Azure
- Wyszukiwanie dokumentów (interfejs API REST usługi Wyszukiwanie AI platformy Azure)