Abfragebeispiele, die „vollständige“ Lucene-Suchsyntax verwenden (erweiterte Abfragen in Azure Search)Query examples using "full" Lucene search syntax (advanced queries in Azure Search)

Beim Erstellen von Abfragen für Azure Search können Sie den standardmäßigen einfachen Abfrageparser durch den umfangreicheren Lucene-Abfrageparser in Azure Search ersetzen, um spezialisierte und erweiterte Abfragedefinitionen zu formulieren.When constructing queries for Azure Search, you can replace the default simple query parser with the more expansive Lucene Query Parser in Azure Search to formulate specialized and advanced query definitions.

Der Lucene-Parser unterstützt komplexe Abfragekonstrukte, z.B. feldbezogene Abfragen, Fuzzy- und Präfixplatzhaltersuche, NEAR-Suche, Term Boosting (Begriffsverstärkung) und die Suche mit regulären Ausdrücken.The Lucene parser supports complex query constructs, such as field-scoped queries, fuzzy and prefix wildcard search, proximity search, term boosting, and regular expression search. Die zusätzliche Leistung kommt mit zusätzlichen Verarbeitungsanforderungen, stellen Sie sich deshalb auf eine etwas längere Ausführungsdauer ein.The additional power comes with additional processing requirements so you should expect a slightly longer execution time. In diesem Artikel können Sie Beispiele mit Abfragevorgängen durchlaufen, die bei Verwendung der vollständigen Syntax verfügbar sind.In this article, you can step through examples demonstrating query operations available when using the full syntax.

Hinweis

Viele der spezialisierten Abfragekonstruktionen, die über die vollständige Lucene-Abfragesyntax aktiviert werden, verfügen nicht über eine Textanalyse. Dies kann zu Überraschungen führen, wenn Sie mit Wortstammerkennung und Lemmatisierung rechnen.Many of the specialized query constructions enabled through the full Lucene query syntax are not text-analyzed, which can be surprising if you expect stemming or lemmatization. Die lexikalische Analyse erfolgt nur für vollständige Begriffe (Begriffsabfrage oder Ausdrucksabfrage).Lexical analysis is only performed on complete terms (a term query or phrase query). Abfragetypen mit unvollständigen Begriffen (Präfixabfrage, Platzerhalterabfrage, Abfrage regulärer Ausdrücke, Fuzzyabfrage) werden direkt unter Umgehung der Analysephase an die Abfragestruktur angehängt.Query types with incomplete terms (prefix query, wildcard query, regex query, fuzzy query) are added directly to the query tree, bypassing the analysis stage. Die einzige Transformation, die für unvollständige Abfrageausdrücke durchgeführt wird, ist die Umwandlung in Kleinbuchstaben.The only transformation performed on incomplete query terms is lowercasing.

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. Es ist die einfachste Suche, die Sie ausführen können.It's 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 vollständigen Lucene-AnalyseHow to invoke full Lucene parsing

Fügen Sie queryType=full hinzu, um die vollständige Abfragesyntax aufzurufen und die standardmäßige einfache Abfragesyntax außer Kraft zu setzen.Add queryType=full to invoke the full query syntax, overriding the default simple query syntax.

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

In allen Beispielen in diesem Artikel wird der Suchparameter queryType=full verwendet. Damit wird angegeben, dass die vollständige Syntax vom Lucene-Abfrageparser verarbeitet wird.All of the examples in this article specify the queryType=full search parameter, indicating that the full syntax is handled by the Lucene Query Parser.

Beispiel 1: Auf eine Liste von Feldern begrenzte AbfrageExample 1: Query scoped to a list of fields

Dieses erste Beispiel gilt nicht spezifisch für Lucene, es wird jedoch damit begonnen, um das erste Grundkonzept für Abfragen vorzustellen: der Feldbereich.This first example is not Lucene-specific, but we lead with it to introduce the first fundamental query concept: field scope. In diesem Beispiel werden die gesamte Abfrage und die Antwort auf wenige bestimmte Felder beschränkt.This example scopes the entire query 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. Der Parameter searchFields schränkt die Abfrageausführung auf das Feld „business_title“ ein, und select gibt an, welche Felder in der Antwort enthalten sein sollen.The searchFields parameter restricts query execution to just the business_title field, and select specifies which fields are included in the response.

Partielle AbfragezeichenfolgePartial query string

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

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

Die Leerzeichen nach den Kommas sind optional.The spaces after the commas are optional.

Tipp

Wenn Sie die REST-API über Ihren Anwendungscode verwenden, sollten Sie die URL-Codierung für Parameter wie $select und searchFields nicht vergessen.When using the REST API from your application code, don't forget to URL-encode parameters like $select and searchFields.

Vollständige URLFull URL

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

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 Suchkriterien einfügen, werden aussagekräftige Werte für die Suchbewertungen angezeigt.When you include actual search criteria, you will see search scores evolve into meaningful values.

Die vollständige Lucene-Syntax unterstützt die Bereichsdefinition einzelner Ausdrücke auf ein bestimmtes Feld.Full Lucene syntax supports scoping individual search expressions to a specific field. Dieses Beispiel sucht nach Geschäftstiteln, in denen der Begriff „Senior“, jedoch nicht der Begriff „Junior“ enthalten ist.This example searches for business titles with the term senior in them, but not junior.

Partielle AbfragezeichenfolgePartial query string

$select=business_title&search=business_title:(senior NOT junior)

Hier ist dieselbe Abfrage mit mehreren Feldern.Here is the same query with multiple fields.

$select=business_title, posting_type&search=business_title:(senior NOT junior) AND posting_type:external

Vollständige URLFull URL

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&$select=business_title&search=business_title:(senior NOT junior)

Postman-Beispielantwort

Sie können einen feldbezogenen Suchvorgang mit der fieldName:searchExpression-Syntax definieren, wobei es sich bei dem Suchausdruck um ein einzelnes Wort, einen einfachen Ausdruck oder einen komplexeren Ausdruck in Klammern handeln kann, optional mit booleschen Operatoren.You can define a fielded search operation with the fieldName:searchExpression syntax, where the search expression can be a single word or a phrase, or a more complex expression in parentheses, optionally with Boolean operators. Beispiele hierfür sind:Some examples include the following:

  • business_title:(senior NOT junior)
  • state:("New York" OR "New Jersey")
  • business_title:(senior NOT junior) AND posting_type:external

Achten Sie darauf, dass Sie mehrere Zeichenfolgen in Anführungszeichen setzen, wenn beide Zeichenfolgen als einzelne Entität ausgewertet werden sollen, da in diesem Fall im Feld state nach zwei verschiedenen Standorten gesucht wird.Be sure to put multiple strings within quotation marks if you want both strings to be evaluated as a single entity, as in this case searching for two distinct locations in the state field. Stellen Sie außerdem sicher, dass der Operator großgeschrieben wird, wie im Fall von NOT und AND.Also, ensure the operator is capitalized as you see with NOT and AND.

Das in fieldName:searchExpression angegebene Feld muss durchsuchbar sein.The field specified in fieldName:searchExpression must be a searchable field. Einzelheiten zur Verwendung von Indexattributen in Felddefinitionen finden Sie unter Index erstellen (REST-API in Azure Search-Dienst) .See Create Index (Azure Search Service REST API) for details on how index attributes are used in field definitions.

Hinweis

Im obigen Beispiel war der Parameter searchFields nicht erforderlich, da für jeden Teil der Abfrage Feldname explizit angegeben ist.In the example above, we did not need to use the searchFields parameter because each part of the query has a field name explicitly specified. Allerdings können Sie den Parameter searchFields trotzdem verwenden, wenn Sie eine Abfrage ausführen möchten, bei der einige Teile auf ein bestimmtes Feld beschränkt sind, der Rest sich jedoch auf mehrere Felder beziehen kann.However, you can still use the searchFields parameter if you want to run a query where some parts are scoped to a specific field, and the rest could apply to several fields. Zum Beispiel würde senior NOT junior in der Abfrage search=business_title:(senior NOT junior) AND external&searchFields=posting_type nur mit dem Feld business_title und „external“ mit dem Feld posting_type abgeglichen werden.For example, the query search=business_title:(senior NOT junior) AND external&searchFields=posting_type would match senior NOT junior only to the business_title field, while it would match "external" with the posting_type field. Der in fieldName:searchExpression angegebene Feldname hat immer Vorrang vor dem Parameter searchFields, weshalb business_title in diesem Beispiel nicht in den Parameter searchFields aufgenommen werden muss.The field name provided in fieldName:searchExpression always takes precedence over the searchFields parameter, which is why in this example, we do not need to include business_title in the searchFields parameter.

Die vollständige Lucene-Syntax unterstützt auch die Fuzzysuche, bei der sich Übereinstimmungen für Begriffe ergeben, die über eine ähnliche Konstruktion verfügen.Full Lucene syntax also supports fuzzy search, matching on terms that have a similar construction. Hängen Sie für eine Fuzzysuche das Tildesymbol ~ an das Ende eines einzelnen Worts mit einem optionalen Parameter an, einem Wert zwischen 0 und 2, der die Editierdistanz angibt.To do a fuzzy search, append the tilde ~ symbol at the end of a single word with an optional parameter, a value between 0 and 2, that specifies the edit distance. Beispielsweise würden bei blue~ oder blue~1 die Werte „blue“, „blues“ und „glue“ zurückgegeben.For example, blue~ or blue~1 would return blue, blues, and glue.

Partielle AbfragezeichenfolgePartial query string

searchFields=business_title&$select=business_title&search=business_title:asosiate~

Ausdrücke werden nicht direkt unterstützt, Sie können jedoch eine Fuzzyübereinstimmung für Komponententeile eines Ausdrucks angeben.Phrases aren't supported directly but you can specify a fuzzy match on component parts of a phrase.

searchFields=business_title&$select=business_title&search=business_title:asosiate~ AND comm~ 

Vollständige URLFull URL

Diese Abfrage sucht nach Stellenangeboten mit dem Begriff „Associate“ (absichtlich falsch geschrieben):This query searches for jobs with the term "associate" (deliberately misspelled):

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

Antwort für die Fuzzysuche

Hinweis

Fuzzyabfragen werden nicht analysiert.Fuzzy queries are not analyzed. Abfragetypen mit unvollständigen Begriffen (Präfixabfrage, Platzerhalterabfrage, Abfrage regulärer Ausdrücke, Fuzzyabfrage) werden direkt unter Umgehung der Analysephase an die Abfragestruktur angehängt.Query types with incomplete terms (prefix query, wildcard query, regex query, fuzzy query) are added directly to the query tree, bypassing the analysis stage. Die einzige Transformation, die für unvollständige Abfrageausdrücke durchgeführt wird, ist die Umwandlung in Kleinbuchstaben.The only transformation performed on incomplete query terms is lowercasing.

NEAR-Suchen werden verwendet, um Begriffe zu suchen, die in einem Dokument nahe beieinander liegen.Proximity searches are used to find terms that are near each other in a document. Fügen Sie ein Tildesymbol „~“ Symbol am Ende eines Ausdrucks ein, gefolgt von der Anzahl der Wörter, die den NEAR-Bereich bilden.Insert a tilde "~" symbol at the end of a phrase followed by the number of words that create the proximity boundary. Beispielsweise finden Sie mit der Abfrage „"Hotel Flughafen"~5“ die Begriffe „Hotel“ und „Flughafen“, wenn sie innerhalb von 5 Wörtern in einem Dokument vorkommen.For example, "hotel airport"~5 will find the terms hotel and airport within 5 words of each other in a document.

Partielle AbfragezeichenfolgePartial query string

searchFields=business_title&$select=business_title&search=business_title:%22senior%20analyst%22~1

Vollständige URLFull URL

Diese Abfrage sucht nach Stellen mit dem Begriff „Senior Analyst“, wobei die beiden Wörter durch höchstens ein Wort getrennt sein dürfen:In this query, for jobs with the term "senior analyst" where it is separated by no more than one word:

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&searchFields=business_title&$select=business_title&search=business_title:%22senior%20analyst%22~1

Näherungsabfrage

Versuchen Sie es noch einmal, und entfernen Sie die Wörter zwischen „Senior“ und „Analyst“.Try it again removing the words between the term "senior analyst". Beachten Sie, dass für diese Abfrage acht Dokumente zurückgegeben werden, während es für die vorherige Abfrage zehn waren.Notice that 8 documents are returned for this query as opposed to 10 for the previous query.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&searchFields=business_title&$select=business_title&search=business_title:%22senior%20analyst%22~0

Beispiel 5: Term BoostingExample 5: Term boosting

Die Begriffsverstärkung (Term Boosting) bezieht sich auf das Höherbewerten eines Dokuments, wenn es den verstärkten Begriff enthält, im Verhältnis zu Dokumenten, die den Begriff nicht enthalten.Term boosting refers to ranking a document higher if it contains the boosted term, relative to documents that do not contain the term. Verwenden Sie zum Verstärken eines Begriffs das Caretzeichen „^“ mit einem Verstärkungsfaktor (einer Zahl) am Ende des Begriffs, nach dem Sie suchen.To boost a term, use the caret, "^", symbol with a boost factor (a number) at the end of the term you are searching.

Vollständige URLsFull URLs

In dieser „Vorher“-Abfrage wird nach Stellen mit dem Begriff computer analyst gesucht. Beachten Sie, dass keine Ergebnisse mit den beiden Wörtern computer und analyst vorhanden sind, aber dass Stellen mit computer in den Ergebnissen oben angezeigt werden.In this "before" query, search for jobs with the term computer analyst and notice there are no results with both words computer and analyst, yet computer jobs are at the top of the results.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&searchFields=business_title&$select=business_title&search=business_title:computer%20analyst

Term Boosting davor

Wiederholen Sie die Suche mit der „Nachher“-Abfrage, und verstärken Sie die Ergebnisse nun mit dem Begriff analyst für den Begriff computer, falls nicht beide Wörter vorhanden sind.In the "after" query, repeat the search, this time boosting results with the term analyst over the term computer if both words do not exist.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&searchFields=business_title&$select=business_title&search=business_title:computer%20analyst%5e2

Eine für Menschen besser lesbare Version der obigen Abfrage lautet search=business_title:computer analyst^2.A more human readable version of the above query is search=business_title:computer analyst^2. Bei einer geeigneten Abfrage wird ^2 als %5E2 codiert, und dies ist nicht so leicht erkennbar.For a workable query, ^2 is encoded as %5E2, which is harder to see.

Term Boosting danach

Das Term Boosting unterscheidet sich von Bewertungsprofilen darin, dass bei Bewertungsprofilen anstelle von bestimmten Begriffen bestimmte Felder verstärkt werden.Term boosting differs from scoring profiles in that scoring profiles boost certain fields, rather than specific terms. Im folgenden Beispiel werden die Unterschiede veranschaulicht.The following example helps illustrate the differences.

Betrachten Sie ein Bewertungsprofil, das Übereinstimmungen in einem bestimmten Feld verstärkt, beispielsweise genre im musicstoreindex-Beispiel.Consider a scoring profile that boosts matches in a certain field, such as genre in the musicstoreindex example. Mit der Begriffsverstärkung könnten Sie bestimmte Suchbegriffe noch höher bewerten als andere.Term boosting could be used to further boost certain search terms higher than others. Zum Beispiel werden mit „rock^2 electronic“ Dokumente, die die Suchbegriffe im Feld genre enthalten, höher eingestuft als andere durchsuchbare Felder im Index.For example, "rock^2 electronic" will boost documents that contain the search terms in the genre field higher than other searchable fields in the index. Darüber hinaus werden Dokumente, die den Suchbegriff „Rock“ enthalten, höher eingestuft als der andere Suchbegriff „electronic“ – aufgrund des Werts (2) für die Begriffsverstärkung.Furthermore, documents that contain the search term "rock" will be ranked higher than the other search term "electronic" as a result of the term boost value (2).

Je höher beim Festlegen der Faktorebene der Verstärkungsfaktor ist, desto relevanter wird der Begriff im Verhältnis zu anderen Suchbegriffen.When setting the factor level, the higher the boost factor, the more relevant the term will be relative to other search terms. Der Standardverstärkungsfaktor ist 1.By default, the boost factor is 1. Der Verstärkungsfaktor muss zwar positiv, kann jedoch kleiner als 1 sein (z. B. „0.2“).Although the boost factor must be positive, it can be less than 1 (for example, 0.2).

Beispiel 6: RegExExample 6: Regex

Bei einer Suche mit regulärem Ausdruck werden Übereinstimmungen basierend auf dem Inhalt zwischen Schrägstrichen „/“ gefunden, wie in der RegExp-Klassedokumentiert.A regular expression search finds a match based on the contents between forward slashes "/", as documented in the RegExp class.

Partielle AbfragezeichenfolgePartial query string

searchFields=business_title&$select=business_title&search=business_title:/(Sen|Jun)ior/

Vollständige URLFull URL

Suchen Sie in dieser Abfrage nach Stellenangeboten mit dem Begriff „Senior“ oder „Junior“: search=business_title:/(Sen|Jun)ior/In this query, search for jobs with either the term Senior or Junior: search=business_title:/(Sen|Jun)ior/.

https://azs-playground.search.windows.net/indexes/nycjobs/docs?api-version=2019-05-06&queryType=full&$count=true&searchFields=business_title&$select=business_title&search=business_title:/(Sen|Jun)ior/

RegEx-Abfrage

Hinweis

Abfragen mit regulärem Ausdruck werden nicht analysiert.Regex queries are not analyzed. Die einzige Transformation, die für unvollständige Abfrageausdrücke durchgeführt wird, ist die Umwandlung in Kleinbuchstaben.The only transformation performed on incomplete query terms is lowercasing.

Sie können die allgemein bekannte Syntax für die Platzhaltersuche nach mehreren (*) oder einzelnen (?) Zeichen verwenden.You can use generally recognized syntax for multiple (*) or single (?) character wildcard searches. Beachten Sie, dass der Lucene-Abfrageparser die Verwendung dieser Symbole bei einem einzelnen Begriff, nicht bei einem Ausdruck, unterstützt.Note the Lucene query parser supports the use of these symbols with a single term, and not a phrase.

Partielle AbfragezeichenfolgePartial query string

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

Vollständige URLFull URL

Mit dieser Abfrage wird nach Stellen gesucht, die das Präfix „Prog“ enthalten. Dazu gehören beispielsweise Berufsbezeichnungen mit den Begriffen „Programmierer“ und „Programmierung“.In this query, search for jobs that contain the prefix 'prog' which would include business titles with the terms programming and programmer in it. Sie können die Symbole * oder ?You cannot use a * or ? nicht als erstes Zeichen in einer Suche verwenden.symbol as the first character of a search.

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

Platzhalterabfrage

Hinweis

Abfragen mit Platzhaltern werden nicht analysiert.Wildcard queries are not analyzed. Die einzige Transformation, die für unvollständige Abfrageausdrücke durchgeführt wird, ist die Umwandlung in Kleinbuchstaben.The only transformation performed on incomplete query terms is lowercasing.

Nächste SchritteNext steps

Versuchen Sie, den Lucene-Abfrageparser in Ihrem Code anzugeben.Try specifying the Lucene Query Parser 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.The following links explain how to set up search queries for both .NET and the REST API. Bei diesen Links wird die einfache Standardsyntax „simple“ verwendet, daher müssen Sie das in diesem Artikel Gelernte anwenden, um den queryTypeanzugeben.The links use the default simple syntax so you will need to apply what you learned from this article to specify the queryType.

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: