Szűrés és rendezés alkalmazása

Befejeződött

A keresési megoldásokban gyakran előfordul, hogy a felhasználók a mezőértékek alapján történő szűréssel és rendezéssel szeretnék finomítani a lekérdezési eredményeket. Az Azure AI Search mindkét funkciót támogatja a keresési lekérdezési API-val.

Eredmények szűrése

A lekérdezésekre kétféleképpen alkalmazhat szűrőket:

  • A szűrési feltételek egyszerű keresési kifejezésbe való beiktatásával.
  • OData-szűrőkifejezés $filter paraméterként való biztosításával teljes szintaxisú keresési kifejezéssel.

Az index bármely szűrhető mezőjére alkalmazhat szűrőt.

Tegyük fel például, hogy olyan dokumentumokat szeretne keresni, amelyek londoni szöveget tartalmaznak, és amelyek a Véleményező mezőértékével rendelkeznek.

Ezt az eredményt a következő egyszerű keresési kifejezés elküldésével érheti el:

search=London+author='Reviewer'
queryType=Simple

OData-szűrőt is használhat egy $filter paraméterben egy teljes Lucene-keresési kifejezéssel, például a következővel:

search=London
$filter=author eq 'Reviewer'
queryType=Full

Tipp.

Az OData $filter kifejezések megkülönböztetik a kis- és nagybetűket!

Szűrés aspektusokkal

Az aspektusok hasznos módszert jelentenek a felhasználók szűrési feltételeinek bemutatására az eredményhalmaz mezőértékei alapján. Akkor működnek a legjobban, ha egy mező kis számú különálló értékkel rendelkezik, amelyek hivatkozásként vagy beállításként jeleníthetők meg a felhasználói felületen.

Az aspektusok használatához meg kell adnia azokat a facetable mezőket, amelyekhez le szeretné kérni a lehetséges értékeket egy kezdeti lekérdezésben. A következő paraméterekkel például visszaadhatja a szerzőmező összes lehetséges értékét:

search=*
facet=author

A lekérdezés eredményei olyan különálló aspektusértékek gyűjteményét tartalmazzák, amelyeket a felhasználó által kiválasztandó felhasználói felületen jeleníthet meg. Ezt követően egy későbbi lekérdezésben a kiválasztott szempontérték használatával szűrheti az eredményeket:

search=*
$filter=author eq 'selected-facet-value-here'

Eredmények rendezése

Alapértelmezés szerint az eredmények a lekérdezési folyamat által hozzárendelt relevanciapont alapján vannak rendezve, a legmagasabb pontozási egyezésekkel. Ezt a rendezési sorrendet azonban felülbírálhatja egy OData orderby paraméter hozzáadásával, amely egy vagy több rendezhető mezőt és rendezési sorrendet (asc vagy desc) határoz meg.

Ha például úgy szeretné rendezni az eredményeket, hogy a legutóbb módosított dokumentumok legyenek elsőként felsorolva, a következő paraméterértékeket használhatja:

search=*
$orderby=last_modified desc

Feljegyzés

További információ a szűrők használatáról: Szűrők az Azure AI Searchben. Az eredmények használatáról, beleértve a rendezést és a találatkiemelést is, olvassa el a Keresési eredmények használata az Azure AI Searchben című témakört.