Abfragebeispiele mit „einfacher“ Suchsyntax in Azure SearchQuery examples using the "simple" search syntax in Azure Search

Bei der einfachen Abfragesyntax wird der Standardabfrageparser aufgerufen, um Volltextsuchabfragen für einen Azure Search-Index auszuführen.Simple query syntax invokes the default query parser for executing full text search queries against an Azure Search index. Die einfache Abfrageanalyse ist schnell und verarbeitet gängige Szenarien in Azure Search, z.B. Volltextsuche, Filter- und Facettensuche und geografische Suche.The simple query analyzer is fast and handles common scenarios in Azure Search, including full text search, filtered and faceted search, and geo-search. In diesem Artikel werden anhand von Beispielen Abfragevorgänge, die bei Verwendung der einfachen Syntax verfügbar sind, Schritt für Schritt beschrieben.In this article, step through examples demonstrating query operations available when using the simple syntax.

Die Alternative zu dieser Abfragesyntax ist die vollständige Lucene-Abfragesyntax, bei der auch komplexere Abfragestrukturen unterstützt werden, z.B. Fuzzy- und Platzhaltersuche, sodass sich die Verarbeitungsdauer verlängern kann.The alternative query syntax is Full Lucene, supporting more complex query structures, such as fuzzy and wildcard search, which can take additional time to process. Weitere Informationen und Beispiele zur Veranschaulichung der vollständigen Syntax finden Sie unter Beispiele für Lucene-Syntaxabfragen.For more information and examples demonstrating full syntax, see Lucene syntax query examples.

Formulieren von Anforderungen in PostmanFormulate requests in Postman

Der in den folgenden Beispielen verwendete Suchindex „NYC Jobs“ besteht aus Stellenangeboten basierend auf einem Dataset, das von der Initiative City of New York OpenData bereitgestellt wird.The following examples leverage a NYC Jobs search index consisting of jobs available based on a dataset provided by the City of New York OpenData initiative. Diese Daten sollten weder als aktuell noch als vollständig betrachtet werden.This data should not be considered current or complete. Der Index wird über einen Sandboxdienst von Microsoft bereitgestellt. Dies bedeutet, dass Sie kein Azure-Abonnement und keine Azure Search-Instanz benötigen, um diese Abfragen auszuprobieren.The index is on a sandbox service provided by Microsoft, which means you do not need an Azure subscription or Azure Search to try these queries.

Sie benötigen lediglich Postman oder ein gleichwertiges Tool zum Senden einer HTTP-Anforderung per GET.What you do need is Postman or an equivalent tool for issuing HTTP request on GET. Weitere Informationen finden Sie unter Untersuchen mit REST-Clients.For more information, see Explore with REST clients.

Festlegen des AnforderungsheadersSet the request header

  1. Legen Sie im Anforderungsheader Content-Type auf application/json fest.In the request header, set Content-Type to application/json.

  2. Fügen Sie einen api-key hinzu, und legen Sie ihn auf diese Zeichenfolge fest: 252044BE3886FE4A8E3BAA4F595114BB.Add an api-key, and set it to this string: 252044BE3886FE4A8E3BAA4F595114BB. Dies ist ein Abfrageschlüssel für den Sandbox-Suchdienst, der den Index „NYC Jobs“ hostet.This is a query key for the sandbox search service hosting the NYC Jobs index.

Nachdem Sie den Anforderungsheader angegeben haben, können Sie ihn für alle Abfragen in diesem Artikel wiederverwenden, indem Sie lediglich die Zeichenfolge search= austauschen.After you specify the request header, you can reuse it for all of the queries in this article, swapping out only the search= string.

Postman-Anforderungsheader

Festlegen der Anforderungs-URLSet the request URL

Die Anforderung ist ein GET-Befehl, der mit einer URL gekoppelt ist, in der der Azure Search-Endpunkt und die Suchzeichenfolge enthalten sind.Request is a GET command paired with a URL containing the Azure Search endpoint and search string.

Postman-Anforderungsheader

Die URL-Komposition umfasst die folgenden Elemente:URL composition has the following elements:

  • https://azs-playground.search.windows.net/ ist ein Sandbox-Suchdienst, der vom Entwicklungsteam von Azure Search gewartet wird.https://azs-playground.search.windows.net/ is a sandbox search service maintained by the Azure Search development team.
  • indexes/nycjobs/ ist der Index „NYC Jobs“ in der Indexsammlung dieses Diensts.indexes/nycjobs/ is the NYC Jobs index in the indexes collection of that service. Sowohl der Dienstname als auch der Index sind für die Anforderung erforderlich.Both the service name and index are required on the request.
  • docs ist die Dokumentsammlung, die den gesamten durchsuchbaren Inhalt enthält.docs is the documents collection containing all searchable content. Der im Anforderungsheader angegebene Abfrage-API-Schlüssel funktioniert nur für Lesevorgänge, die die Dokumentsammlung betreffen.The query api-key provided in the request header only works on read operations targeting the documents collection.
  • api-version=2019-05-06 legt die API-Version fest. Dies ist für alle Anforderungen ein erforderlicher Parameter.api-version=2019-05-06 sets the api-version, which is a required parameter on every request.
  • search=* ist die Abfragezeichenfolge, die in der ersten Abfrage null ist und (standardmäßig) die ersten 50 Ergebnisse zurückgibt.search=* is the query string, which in the initial query is null, returning the first 50 results (by default).

Senden Ihrer ersten AbfrageSend your first query

Fügen Sie als Überprüfungsschritt die folgende Anforderung in GET ein, und klicken Sie auf Senden.As a verification step, paste the following request into GET and click Send. Die Ergebnisse werden als ausführliche JSON-Dokumente zurückgegeben.Results are returned as verbose JSON documents. Es werden ganze Dokumente zurückgegeben, sodass Sie alle Felder und alle Werte sehen können.Entire documents are returned, which allows you to see all fields and all values.

Fügen Sie diese URL in einen REST-Client als Überprüfungsschritt und zum Anzeigen der Dokumentstruktur ein.Paste this URL into a REST client as a validation step and to view document structure.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&search=*

Die Abfragezeichenfolge search=* entspricht einer Suche ohne Angaben, die einer NULL-Suche oder leeren Suche gleicht.The query string, search=*, is an unspecified search equivalent to null or empty search. Dies hat keinen besonderen Nutzen, aber es ist die einfachste Suche, die Sie durchführen können.It's not especially useful, but it is the simplest search you can do.

Optional können Sie der URL $count=true hinzufügen, um eine Anzahl für die Dokumente zurückzugeben, die die Suchkriterien erfüllen.Optionally, you can add $count=true to the URL to return a count of the documents matching the search criteria. In einer leeren Suchzeichenfolge entspricht dies allen Dokumenten im Index (ca. 2.800 für „NYC Jobs“).On an empty search string, this is all the documents in the index (about 2800 in the case of NYC Jobs).

Aufrufen der einfachen AbfrageanalyseHow to invoke simple query parsing

Für interaktive Abfragen müssen Sie nichts angeben: einfache Abfragen sind die Standardeinstellung.For interactive queries, you don't have to specify anything: simple is the default. Wenn Sie zuvor queryType=full für die vollständige Abfragesyntax aufgerufen haben, können Sie im Code die Standardeinstellung wiederherstellen, indem Sie queryType=simple verwenden.In code, if you previously invoked queryType=full for full query syntax, you could reset the default with queryType=simple.

Beispiel 1: Feldbezogene AbfrageExample 1: Field-scoped query

Dieses erste Beispiel ist nicht parserspezifisch, wir beginnen jedoch mit diesem Beispiel, um das erste Grundkonzept für Abfragen vorzustellen: die Eingrenzung.This first example is not parser-specific, but we lead with it to introduce the first fundamental query concept: containment. In diesem Beispiel beschränken sich die Abfrageausführung und die Antwort auf nur wenige bestimmte Felder.This example scopes query execution and the response to just a few specific fields. Bei Verwendung des Tools Postman oder Suchexplorer ist es wichtig, zu wissen, wie eine lesbare JSON-Antwort strukturiert wird.Knowing how to structure a readable JSON response is important when your tool is Postman or Search explorer.

Um das Beispiel kurz zu halten, zielt die Abfrage nur auf das Feld business_title ab, und es werden nur Berufsbezeichnungen zurückgegeben.For brevity, the query targets only the business_title field and specifies only business titles are returned. Die Syntax lautet searchFields, um die Abfrageausführung nur auf das Feld „business_title“ zu beschränken, und select, um anzugeben, welche Felder in der Antwort enthalten sind.The syntax is searchFields to restrict query execution to just the business_title field, and select to specify which fields are included in the response.

Partielle AbfragezeichenfolgePartial query string

searchFields=business_title&$select=business_title&search=*

Hier ist dieselbe Abfrage mit mehreren Feldern in einer Liste mit Kommas als Trennzeichen.Here is the same query with multiple fields in a comma-delimited list.

search=*&searchFields=business_title, posting_type&$select=business_title, posting_type

Vollständige URLFull URL

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&searchFields=business_title&$select=business_title&search=*

Die Antwort auf diese Abfrage sollte etwa wie im folgenden Screenshot aussehen.Response for this query should look similar to the following screenshot.

Postman-Beispielantwort

Möglicherweise ist Ihnen die Suchbewertung in der Antwort aufgefallen.You might have noticed the search score in the response. Zu einer einheitlichen Bewertung von „1“ kommt es, wenn kein Rang vorhanden ist, weil es entweder keine Volltextsuche war oder weil keine Kriterien angewandt wurden.Uniform scores of 1 occur when there is no rank, either because the search was not full text search, or because no criteria was applied. Bei einer NULL-Suche ohne Kriterien werden Zeilen in willkürlicher Reihenfolge zurückgegeben.For null search with no criteria, rows come back in arbitrary order. Wenn Sie tatsächliche Kriterien einfügen, werden aussagekräftige Werte für die Suchbewertungen angezeigt.When you include actual criteria, you will see search scores evolve into meaningful values.

Beispiel 2: Suchen anhand der IDExample 2: Look up by ID

Dieses Beispiel ist etwas ungewöhnlich. Beim Auswerten des Suchverhaltens ist es aber ratsam, den gesamten Inhalt eines bestimmten Dokuments zu untersuchen, um zu ermitteln, warum er in die Ergebnisse einbezogen bzw. ausgeschlossen wurde.This example is a bit atypical, but when evaluating search behaviors, you might want to inspect the entire contents of a specific document to understand why it was included or excluded from results. Verwenden Sie zum Zurückgeben eines einzelnen Dokuments in seiner Gesamtheit einen Suchvorgang, um die Dokument-ID zu übergeben.To return a single document in its entirety, use a Lookup operation to pass in the document ID.

Alle Dokumente verfügen über einen eindeutigen Bezeichner.All documents have a unique identifier. Beim Ausprobieren der Syntax für eine Suchabfrage können Sie zuerst eine Liste mit Dokument-IDs zurückgeben, um eine geeignete ID auszuwählen.To try out the syntax for a lookup query, first return a list of document IDs so that you can find one to use. Für „NYC Jobs“ sind diese Bezeichner im Feld id gespeichert.For NYC Jobs, the identifiers are stored in the id field.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&searchFields=id&$select=id&search=*

Das nächste Beispiel ist eine Suchabfrage, bei der ein bestimmtes Dokument basierend auf id „9E1E3AF9-0660-4E00-AF51-9B654925A2D5“ ausgegeben wird, das zuerst in der vorherigen Antwort enthalten war.The next example is a lookup query returning a specific document based on id "9E1E3AF9-0660-4E00-AF51-9B654925A2D5", which appeared first in the previous response. Mit der folgenden Abfrage wird das gesamte Dokument zurückgegeben, nicht nur die ausgewählten Felder.The following query returns the entire document, not just selected fields.

https://azs-playground.search.windows.net/indexes/nycjobs/docs/9E1E3AF9-0660-4E00-AF51-9B654925A2D5?api-version=2019-05-06&$count=true&search=*

Beispiel 3: FilterabfragenExample 3: Filter queries

Die Filtersyntax ist ein OData-Ausdruck, den Sie mit search oder allein verwenden können.Filter syntax is an OData expression that you can use with search or by itself. Ein eigenständiger Filter ohne Suchparameter ist nützlich, wenn der Filterausdruck Dokumente von Interesse vollständig qualifizieren kann.A standalone filter, without a search parameter, is useful when the filter expression is able to fully qualify documents of interest. Ohne Abfragezeichenfolge wird keine lexikalische oder linguistische Analyse, Bewertung („1“ für alle Bewertungen) und Rangzuweisung durchgeführt.Without a query string, there is no lexical or linguistic analysis, no scoring (all scores are 1), and no ranking. Beachten Sie, dass die Suchzeichenfolge leer ist.Notice the search string is empty.

POST /indexes/nycjobs/docs/search?api-version=2019-05-06
    {
      "search": "",
      "filter": "salary_frequency eq 'Annual' and salary_range_from gt 90000",
      "select": "select=job_id, business_title, agency, salary_range_from",
      "count": "true"
    }

Wenn sie zusammen verwendet werden, wird der Filter zuerst auf den gesamten Index angewendet, und anschließend wird die Suche für die Ergebnisse des Filters ausgeführt.Used together, the filter is applied first to the entire index, and then the search is performed on the results of the filter. Filter können daher eine nützliche Methode zum Verbessern der Abfrageleistung darstellen, da sie die Menge der Dokumente reduzieren, die bei der Suchabfrage verarbeitet werden müssen.Filters can therefore be a useful technique to improve query performance since they reduce the set of documents that the search query needs to process.

Filtern von Abfrageantworten

Wenn Sie dies mithilfe von GET in Postman testen möchten, können Sie die folgende Zeichenfolge einfügen:If you want to try this out in Postman using GET, you can paste in this string:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,business_title,agency,salary_range_from&search=&$filter=salary_frequency eq 'Annual' and salary_range_from gt 90000

Eine andere leistungsstarke Möglichkeit zum Kombinieren von Filter und Suche ist die Verwendung von search.ismatch*() in einem Filterausdruck, wobei Sie eine Suchabfrage innerhalb des Filters durchführen können.Another powerful way to combine filter and search is through search.ismatch*() in a filter expression, where you can use a search query within the filter. Bei diesem Filterausdruck wird ein Platzhalter für plan (um „term plan“, „planner“, „planning“ usw. einzuschließen) verwendet, um „business_title“ auszuwählen.This filter expression uses a wildcard on plan to select business_title including the term plan, planner, planning, and so forth.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,business_title,agency&search=&$filter=search.ismatch('plan*', 'business_title', 'full', 'any')

Weitere Informationen zu dieser Funktion finden Sie unter „search.ismatch“ unter „Filterbeispiele“.For more information about the function, see search.ismatch in "Filter examples".

Beispiel 4: BereichsfilterExample 4: Range filters

Die Bereichsfilterung wird durch $filter -Ausdrücke für jeden Datentyp unterstützt.Range filtering is supported through $filter expressions for any data type. In den folgenden Beispielen werden numerische und Zeichenfolgenfelder durchsucht.The following examples search over numeric and string fields.

Datentypen sind bei Bereichsfiltern wichtig und funktionieren am besten bei numerischen Daten in numerischen Feldern und Zeichenfolgendaten in Zeichenfolgenfeldern.Data types are important in range filters and work best when numeric data is in numeric fields, and string data in string fields. Numerische Daten in Zeichenfolgenfeldern eignen sich nicht für Bereiche, da sich numerische Zeichenfolgen in Azure Search nicht vergleichen lassen.Numeric data in string fields is not suitable for ranges because numeric strings are not comparable in Azure Search.

Die folgenden Beispiele weisen zur besseren Lesbarkeit das POST-Format (numerischer Bereich gefolgt vom Textbereich) auf:The following examples are in POST format for readability (numeric range, followed by text range):

POST /indexes/nycjobs/docs/search?api-version=2019-05-06
    {
      "search": "",
      "filter": "num_of_positions ge 5 and num_of_positions lt 10",
      "select": "job_id, business_title, num_of_positions, agency",
      "orderby": "agency",
      "count": "true"
    }

Bereichsfilter für numerische Bereiche

POST /indexes/nycjobs/docs/search?api-version=2019-05-06
    {
      "search": "",
      "filter": "business_title ge 'A*' and business_title lt 'C*'",
      "select": "job_id, business_title, agency",
      "orderby": "business_title",
      "count": "true"
    }

Bereichsfilter für Textbereiche

Dies können Sie mithilfe von GET auch in Postman testen:You can also try these out in Postman using GET:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&search=&$filter=num_of_positions ge 5 and num_of_positions lt 10&$select=job_id, business_title, num_of_positions, agency&$orderby=agency&$count=true
https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&search=&$filter=business_title ge 'A*' and business_title lt 'C*'&$select=job_id, business_title, agency&$orderby=business_title&$count=true

Hinweis

Die Verwendung von Facettenwertbereichen ist eine verbreitete Anforderung für Suchanwendungen.Faceting over ranges of values is a common search application requirement. Weitere Informationen und Beispiele zum Erstellen von Filtern für Facettennavigationsstrukturen finden Sie unter „Filtern nach einem Bereich“ im Artikel Implementieren der Facettennavigation in Azure Search.For more information and examples on building filters for facet navigation structures, see "Filter based on a range" in How to implement faceted navigation.

Der Beispielindex enthält das Feld „geo_location“ mit Breiten- und Längengradkoordinaten.The sample index includes a geo_location field with latitude and longitude coordinates. In diesem Beispiel wird die geo.distance-Funktion verwendet, mit der Dokumente im Umkreis eines Startpunkts bis zu einer beliebigen festgelegten Entfernung (in Kilometer) gefiltert werden.This example uses the geo.distance function that filters on documents within the circumference of a starting point, out to an arbitrary distance (in kilometers) that you provide. Sie können den letzten Wert in der Abfrage (4) anpassen, um die Fläche der Abfrage zu verkleinern oder zu vergrößern.You can adjust the last value in the query (4) to reduce or enlarge the surface area of the query.

Im folgenden Beispiel wird zur besseren Lesbarkeit das POST-Format verwendet:The following example is in POST format for readability:

POST /indexes/nycjobs/docs/search?api-version=2019-05-06
    {
      "search": "",
      "filter": "geo.distance(geo_location, geography'POINT(-74.11734 40.634384)') le 4",
      "select": "job_id, business_title, work_location",
      "count": "true"
    }

Zur besseren Übersichtlichkeit enthalten die Suchergebnisse eine Stellenkennung, eine Position und den Arbeitsstandort.For more readable results, search results are trimmed to include a job ID, job title, and the work location. Die Anfangskoordinaten wurden aus einem zufällig ausgewählten Dokument im Index abgerufen (in diesem Fall für einen Arbeitsstandort auf Staten Island).The starting coordinates were obtained from a random document in the index (in this case, for a work location on Staten island.

Dies können Sie mithilfe von GET auch in Postman testen:You can also try this out in Postman using GET:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&search=&$select=job_id, business_title, work_location&$filter=geo.distance(geo_location, geography'POINT(-74.11734 40.634384)') le 4

Beispiel 6: SuchgenauigkeitExample 6: Search precision

Begriffsabfragen sind einzelne Begriffe (ggf. in größerer Zahl), die unabhängig voneinander ausgewertet werden.Term queries are single terms, perhaps many of them, that are evaluated independently. Ausdrucksabfragen sind in Anführungszeichen gesetzt und werden Wort für Wort als Zeichenfolge ausgewertet.Phrase queries are enclosed in quotation marks and evaluated as a verbatim string. Die Genauigkeit der Übereinstimmung wird mithilfe von Operatoren und des searchMode-Elements gesteuert.Precision of the match is controlled by operators and searchMode.

Beispiel 1: &search=fire gibt 150 Ergebnisse zurück, wobei alle Übereinstimmungen das Wort „fire“ an einer Stelle im Dokument enthalten.Example 1: &search=fire returns 150 results, where all matches contain the word fire somewhere in the document.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&search=fire

Beispiel 2: &search=fire department gibt 2.002 Ergebnisse zurück.Example 2: &search=fire department returns 2002 results. Übereinstimmungen werden für Dokumente zurückgegeben, die entweder den Begriff „fire“ oder „department“ enthalten.Matches are returned for documents containing either fire or department.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&search=fire department

Beispiel 3: &search="fire department" gibt 82 Ergebnisse zurück.Example 3: &search="fire department" returns 82 results. Wenn die Zeichenfolge in Anführungszeichen gesetzt wird, wird für beide Begriffe eine „wörtliche“ Suche durchgeführt, und es werden Übereinstimmungen für tokenisierte Begriffe im Index gefunden, die aus einer Kombination der Begriffe bestehen.Enclosing the string in quotation marks is a verbatim search on both terms, and matches are found on tokenized terms in the index consisting of the combined terms. Dies ist der Grund dafür, warum die Suche nach search=+fire +department hiermit nicht gleichwertig ist.This explains why a search like search=+fire +department is not equivalent. Beide Begriffe sind erforderlich, aber es wird unabhängig danach gesucht.Both terms are required, but are scanned for independently.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&search="fire department"

Beispiel 7: Boolesche Werte mit „searchMode“Example 7: Booleans with searchMode

Bei der einfachen Syntax werden boolesche Operatoren in Form von Zeichen (+, -, |) unterstützt.Simple syntax supports boolean operators in the form of characters (+, -, |). Mit dem Parameter „searchMode“ werden Kompromisse in Bezug auf die Genauigkeit und Trefferquote angegeben, wobei bei searchMode=any die Trefferquote (eine Übereinstimmung mit einem der Kriterien qualifiziert ein Dokument für das Resultset) und bei searchMode=all die Genauigkeit (alle Kriterien müssen übereinstimmen) im Mittelpunkt steht.The searchMode parameter informs tradeoffs between precision and recall, with searchMode=any favoring recall (matching on any criteria qualifies a document for the result set), and searchMode=all favoring precision (all criteria must be matched). Die Standardeinstellung ist searchMode=any. Dies kann verwirrend sein, wenn Sie für eine Abfrage mehrere Operatoren verwenden und keinen engeren Bereich von Ergebnissen erhalten, sondern einen weiteren Bereich.The default is searchMode=any, which can be confusing if you are stacking a query with multiple operators and getting broader instead of narrower results. Dies gilt besonders für den Operator NOT, bei dem die Ergebnisse alle Dokumente umfassen, die einen bestimmten Begriff „nicht enthalten“.This is particularly true with NOT, where results include all documents "not containing" a specific term.

Bei Verwendung der Standardeinstellung für „searchMode“ (any) werden 2.800 Dokumente zurückgegeben: Dokumente, die den mehrteiligen Begriff „fire department“ enthalten, sowie alle Dokumente, die den Begriff „Metrotech Center“ nicht enthalten.Using the default searchMode (any), 2800 documents are returned: those containing the multi-part term "fire department", plus all documents that do not have the term "Metrotech Center".

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&searchMode=any&search="fire department"  -"Metrotech Center"

Suchmodus „any“

Wenn Sie searchMode in all ändern, kommt es für die Kriterien zu einem kumulativen Effekt, und es wird ein kleineres Resultset mit nur 21 Dokumenten zurückgegeben. Dies sind Dokumente, die den gesamten Begriff „fire department“ enthalten, abzüglich der Jobs unter der Metrotech Center-Adresse.Changing searchMode to all enforces a cumulative effect on criteria and returns a smaller result set - 21 documents - consisting of documents containing the entire phrase "fire department", minus those jobs at the Metrotech Center address.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&searchMode=all&search="fire department"  -"Metrotech Center"

Suchmodus „all“

Beispiel 8: Strukturieren von ErgebnissenExample 8: Structuring results

Mit mehreren Parametern wird gesteuert, welche Felder in den Suchergebnissen enthalten sind, wie viele Dokumente in jedem Batch zurückgegeben werden und welche Sortierreihenfolge verwendet wird.Several parameters control which fields are in the search results, the number of documents returned in each batch, and sort order. In diesem Beispiel wird auf einige der vorherigen Beispiele zurückgegriffen, indem Ergebnisse mit der $select-Anweisung auf bestimmte Felder beschränkt und „wörtliche“ Suchkriterien verwendet werden. Es werden 82 Übereinstimmungen zurückgegeben.This example resurfaces a few of the previous examples, limiting results to specific fields using the $select statement and verbatim search criteria, returning 82 matches

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,agency,business_title,civil_service_title,work_location,job_description&search="fire department"

Basierend auf dem vorherigen Beispiel können Sie nach der Bezeichnung sortieren.Appended onto the previous example, you can sort by title. Diese Sortierung funktioniert, weil „civil_service_title“ im Index sortierbar ist.This sort works because civil_service_title is sortable in the index.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,agency,business_title,civil_service_title,work_location,job_description&search="fire department"&$orderby=civil_service_title

Die Auslagerungsergebnisse werden mit dem Parameter $top implementiert, und in diesem Fall werden die obersten fünf Dokumente zurückgegeben:Paging results is implemented using the $top parameter, in this case returning the top 5 documents:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,agency,business_title,civil_service_title,work_location,job_description&search="fire department"&$orderby=civil_service_title&$top=5&$skip=0

Überspringen Sie den ersten Batch, um die nächsten fünf Dokumente zu erhalten:To get the next 5, skip the first batch:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&$count=true&$select=job_id,agency,business_title,civil_service_title,work_location,job_description&search="fire department"&$orderby=civil_service_title&$top=5&$skip=5

Nächste SchritteNext steps

Versuchen Sie, Abfragen in Ihrem Code anzugeben.Try specifying queries in your code. Unter den folgenden Links wird erläutert, wie Sie Suchabfragen sowohl für .NET als auch für die REST-API einrichten, indem Sie die einfache Standardsyntax verwenden.The following links explain how to set up search queries for both .NET and the REST API using the default simple syntax.

Eine zusätzliche Syntaxreferenz, eine Abfragearchitektur und Beispiele finden Sie unter den folgenden Links:Additional syntax reference, query architecture, and examples can be found in the following links: