Übersicht über die REST-API der SharePoint-Suche
Fügen Sie Suchfunktionen zu Client- und mobilen Anwendungen hinzu, mit dem Search-REST-Dienst in SharePoint und jeder Technologie, die REST-Webanforderungen unterstützt.
Wenn Sie eine Abfrage im Zusammenhang mit einer SharePoint Online-Benutzer durchführen erhalten Sie Ergebnisse von:
- Inhalte in SharePoint Server-Websitesammlungen
- Inhalt in Microsoft 365-Gruppen
- Freigegebene Inhalte von OneDrive for Business (Inhalte, die für andere als den Besitzer von OneDrive for Business zugänglich sind)
- Inhalte von SharePoint Server, die über eine Cloud-Suchdienstanwendung indiziert wurden. Informationen über die Cloudhybridsuche
Unterstützung des Content Delivery Network (CDN)
Wenn das private oder öffentliche CDN von Office 365 zur Optimierung der Leistung für Objekte aktiviert ist, gilt dieser Abschnitt für Sie. Wenn Ihre Suchergebnisse Bilder enthalten, die aus dem CDN bereitgestellt werden, ist die URL für das Bild die CDN-URL, die in den Ergebnissen zurückgegeben wird, und nicht der Speicherort in der Objektbibliothek. Weitere Informationen zum CDN finden Sie unter Verwenden von Office 365 Content Delivery Network (CDN) mit SharePoint Online.
Erstellen von Abfragen mit dem Search-REST-Dienst
Die Suche in SharePoint enthält einen Search-REST-Dienst, mit dem Sie Suchfunktionen zu Ihren Client- und mobilen Anwendungen hinzufügen können. Verwenden sie dazu eine beliebige Technologie, die REST-Webanforderungen unterstützt. Mit dem Search-REST-Dienst können Sie Keyword Query Language (KQL)- oder FAST Query Language (FQL)-Abfragen in Ihren SharePoint-Add-Ins, Remoteclientanwendungen, mobilen Anwendungen und anderen Anwendungen senden. Der Search-REST-Dienst unterstützt POST- und GET-HTTP-Anforderungen.
GET-Anforderungen
Erstellen Sie den URI für GETAbfrageanforderungen hinsichtlich des Search-REST-Diensts wie folgt:
GET /_api/search/query
Für GET-Anforderungen geben Sie die Abfrageparameter in der URL an. Sie können die GET-Anforderungs-URL auf zwei Arten erstellen:
GET http://server/_api/search/query?query_parameter=value&query_parameter=value
GET http://server/_api/search/query(query_parameter=value&query_parameter=<value>)
POST-Anforderungen
Sie erstellen den URI für POST-Abfrageanforderungen hinsichtlich des Search-REST-Diensts wie folgt:
POST /_api/search/postquery
Für POST-Anforderungen geben Sie die Abfrageparameter in der Anforderung im JavaScript Object Notation (JSON)-Format weiter. Die POST-HTTP-Version des Search-REST-Diensts unterstützt alle Parameter, die von der GET-HTTP-Version unterstützt werden. Einige der Parameter weisen jedoch unterschiedliche Datentypen auf, wie in Tabelle 1 beschrieben.
Tabelle 1. Abfrageparameter mit unterschiedlichen Datentypen für POST-Anforderungen
Parameter | Datentyp |
---|---|
SelectProperties | string[] |
RefinementFilters | string[] |
SortList | Sort |
HitHighlightedProperties | string[] |
Properties | Microsoft.SharePoint.Client.Search.Query.KeywordQueryProperties |
Verwenden Sie POST-Anforderungen in den folgenden Szenarios:
- Bei Überschreitung der URL-Längenbeschränkung für eine GET-Anforderung
- Wenn Sie die Abfrageparameter nicht in einer einfachen URL angeben können. Wenn Sie beispielsweise Parameterwerte weitergeben müssen, die ein Array eines komplexen Typs oder durch Kommas getrennte Zeichenfolgen enthalten, sind Sie bei der Erstellung der POST-Anforderung flexibler.
- Wenn Sie den Parameter ReorderingRules verwenden, da er nur mit POST-Anforderungen unterstützt wird.
Format der Search-REST-Ergebnisse
Standardmäßig werden Ergebnisse im XML-Format zurückgegeben. Um die Ergebnisse im JSON-Format zu erhalten, fügen Sie Ihrer Anforderung den folgenden Header hinzu:
accept: application/json;odata=verbose
Wenn Sie keine Metadaten benötigen, können Sie stattdessen Folgendes verwenden:
accept: application/json;odata=nometadata
Verwenden von Abfrageparametern für den Search-REST-Dienst
Wenn Sie den Search-REST-Dienst aufrufen, geben Sie Abfrageparameter für die Anforderung an. Suche in SharePoint verwendet diese Abfrageparameter, um die Suchabfrage zu erstellen. Für eine GET-Anforderung geben Sie die Abfrageparameter in der URL an. Für POST-Anforderungen geben Sie die Abfrageparameter im Textkörper im JavaScript Object Notation (JSON)-Format weiter. In den folgenden Abschnitten werden die Abfrageparameter beschrieben, mit denen Sie Suchabfragen mit dem Search-REST-Dienst senden können.
QueryText-Parameter
Eine Zeichenfolge, die den Text für die Suchabfrage enthält
Beispiel für GET-Anforderung
GET http://{server}/_api/search/query?querytext='sharepoint'
Beispiel für POST-Anforderung
{
'request': {
'Querytext': 'sharepoint',
'RowLimit': 20,
'ClientType': 'ContentSearchRegular'
}
}
QueryTemplate
Eine Zeichenfolge, die den Text enthält, der den Abfragetext ersetzt (als Teil einer Abfragetransformation)
Beispiel für GET-Anforderung
GET http://server/_api/search/query?querytext='sharepoint'&querytemplate='{searchterms} author:johndoe'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'QueryTemplate': '{searchterms} Author:johndoe'
}
EnableInterleaving
Ein boolescher Wert, der angibt, ob die für den Ergebnisblock zurückgegebenen Ergebnistabellen mit den für die ursprüngliche Abfrage zurückgegebenen Ergebnistabellen kombiniert werden
true zum Kombinieren der Ergebnistabellen; andernfalls false. Der Standardwert ist true.
Ändern Sie diesen Wert nur, wenn Sie Ihre eigene überlappende Implementierung bereitstellen möchten.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableinterleaving=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableInterleaving': 'True'
}
SourceId
Ergebnis-Quell-ID für Ausführung der Suchabfrage
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SourceId': '8413cd39-2156-4e00-b54d-11efd9abdb89'
}
RankingModelId
ID des Rangfolgemodells für die Abfrage
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&rankingmodelid= _CustomRankingModelID_
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RankingModelId': 'CustomRankingModelID '
}
StartRow
Erste Zeile, die in den Suchergebnissen enthalten ist, die zurückgegeben werden. Verwenden Sie diesen Parameter, wenn Sie die Seitenverwaltung für Suchergebnisse implementieren möchten.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&startrow=10
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'StartRow': '10'
}
Hinweis
Bitte beachten Sie, dass wir den maximal unterstützten Wert von StartRow
auf 50 000 beschränken, um ein Sucherlebnis mit hoher Leistung zu bieten. Wenn Sie größere Ergebnismengen durchblättern müssen, lesen Sie bitte Paginierung für große Ergebnismengen.
RowLimit
Maximale Anzahl von Zeilen, die in den Suchergebnissen zurückgegeben werden. Im Vergleich zu RowsPerPage ist RowLimit die maximale Anzahl von Zeilen, die insgesamt zurückgegeben werden.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowlimit=30
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowLimit': '30'
}
RowsPerPage
Die maximale Anzahl von Zeilen, die pro Seite zurückgegeben werden sollen. Im Vergleich zu RowLimit bezieht sich RowsPerPage auf die maximale Anzahl von Zeilen, die pro Seite zurückgegeben werden sollen, und wird hauptsächlich verwendet, wenn Sie paging für Suchergebnisse implementieren möchten.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowsperpage=10
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowsPerPage': '10'
}
SelectProperties
Verwaltete Eigenschaften, die in den Suchergebnissen zurückgegeben werden. Um eine verwaltete Eigenschaft zurückzugeben, stellen Sie das abrufbare Flag der Eigenschaft im Suchschema auf true ein.
Für GET-Anforderungen können Sie den SelectProperties-Parameter in einer Zeichenfolge mit einer durch Kommas getrennten Liste von Eigenschaften angeben. Für POST-Anforderungen geben Sie den SelectProperties-Parameter als Zeichenfolgenarray an.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&selectproperties='Title,Author'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SelectProperties': {
'results': ['Title','Author']
}
}
Culture
Die Gebietsschema-ID (LCID) für die Abfrage (siehe Von Microsoft zugewiesene Gebietsschema-IDs).
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&culture=1044
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Culture': '1044'
}
RefinementFilters
Satz an Verfeinerungsfiltern für das Senden einer Verfeinerungsabfrage. Für GET-Anforderungen wird der RefinementFilters-Parameter als FQL-Filter angegeben. Für POST-Anforderungen wird der RefinementFilters-Parameter als Array von FQL-Filtern angegeben.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtension:equals("docx")'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RefinementFilters': {
'results': ['fileExtension:equals("docx")']
}
}
Einschränkungen
Satz an Einschränkungen, die in einem Suchergebnis zurückgegeben werden
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&refiners='author,size'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Refiners': 'author,size',
}
HiddenConstraints
Zusätzliche Abfrageausdrücke zum Anhängen an die Abfrage
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&hiddenconstraints='developer'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HiddenConstraints': 'developer'
}
SortList
Liste der Eigenschaften, nach der die Suchergebnisse sortiert sind
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&sortlist='rank:descending,modifiedby:ascending'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SortList': {
'results': [
{
'Property': 'Created',
'Direction': '0'
},
{
'Property': 'FileExtension',
'Direction': '1'
}
]
}
}
EnableStemming
Ein boolescher Wert, der angibt, ob Wortstammerkennung aktiviert ist
true, wenn Wortstammerkennung aktiviert ist; andernfalls false. Der Standardwert ist true.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablestemming=false
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableStemming : 'False'
}
TrimDuplicates
Ein boolescher Wert, der angibt, ob doppelte Elemente aus den Ergebnissen entfernt werden
true, um doppelte Elemente zu entfernen; andernfalls false. Der Standardwert ist true.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&trimduplicates=false
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'TrimDuplicates': 'False'
}
Timeout
Zeit in Millisekunden bis zum Timeout der Abfrageanforderung. Der Standardwert ist 30000.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&timeout=60000
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Timeout': '60000'
}
EnableNicknames
Ein boolescher Wert, der angibt, ob die genauen Ausdrücke in der Suchabfrage verwendet werden, um Übereinstimmungen zu finden, oder ob auch Spitznamen verwendet werden true, wenn Spitznamen verwendet werden; andernfalls false. Der Standardwert ist false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablenicknames=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableNicknames': 'True'
}
EnablePhonetic
Ein boolescher Wert, der angibt, ob die phonetische Form der Abfrageausdrücke verwendet wird, um Übereinstimmungen zu finden
true, wenn die phonetische Form verwendet wird; andernfalls false. Der Standardwert ist false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablephonetic=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnablePhonetic': 'True'
}
EnableFql
Ein boolescher Wert, der angibt, ob die Abfrage die FAST Query Language (FQL) verwendet
true, wenn die Abfrage eine FQL-Abfrage ist; andernfalls false. Der Standardwert ist false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablefql=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableFQL': 'True'
}
HitHighlightedProperties
Eigenschaften zur Hervorhebung in der Suchergebnisübersicht, wenn der Eigenschaftenwert den vom Benutzer eingegebenen Suchbegriffen entspricht. Für GET-Anforderungen geben Sie eine Zeichenfolge mit einer durch Kommas getrennten Liste von Eigenschaften an. Für POST-Anforderungen geben Sie ein Array von Zeichenfolgen an.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedproperties='Title'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HitHighlightedProperties': {
'results': ['Title']
}
}
BypassResultTypes
Ein boolescher Wert, der angibt, ob eine Ergebnistypverarbeitung für die Abfrage durchgeführt werden soll
false , um die Verarbeitung des Ergebnistyps durchzuführen; andernfalls true. Der Standardwert ist true.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&bypassresulttypes=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'BypassResultTypes': 'true'
}
ProcessBestBets
Ein boolescher Wert, der angibt, ob die besten Suchergebnisse für die Abfrage zurückgegeben werden sollen
true , um beste Suchergebnisse zu zurückgeben; andernfalls false. Dieser Parameter wird nur verwendet, wenn EnableQueryRules auf true festgelegt ist, andernfalls wird er ignoriert. Der Standardwert ist false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&processbestbets=true&enablequeryrules=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ProcessBestBets': 'true',
'EnableQueryRules': 'true'
}
ClientType
Typ des Clients, der die Abfrage gesendet hat
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&clienttype='custom'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ClientType': 'custom'
}
PersonalizationData
GUID für den Benutzer, der die Suchabfrage gesendet hat
Beispiel für GET-Anforderung
GET http:// _\<server\>_/_api/search/query?querytext='sharepoint'&personalizationdata=' _\<GUID\>_'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'PersonalizationData': ' <GUID> '
}
ResultsURL
URL für die Seite mit den Suchergebnissen
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&resultsurl='http://server/site/resultspage.aspx'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
'ResultURL': 'http://server/site/resultspage.aspx'
}
QueryTag
Benutzerdefinierte Tags, die die Abfrage identifizieren. Sie können mehrere Abfrage-Tags angeben, getrennt durch Semikolons.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
}
Eigenschaften
Zusätzliche Eigenschaften für die Abfrage. GET-Anforderungen unterstützen nur Zeichenfolgewerte. POST-Anforderungen unterstützen Werte jedes Typs.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&properties='termid:guid'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [
{
'Name': 'sampleBooleanProperty',
'Value':
{
'BoolVal': 'True',
'QueryPropertyValueTypeIndex': 3
}
},
{
'Name': 'sampleIntProperty',
'Value':
{
'IntVal': '1234',
'QueryPropertyValueTypeIndex': 2
}
}
]
}
}
Hinweis
QueryPropertyValueType gibt den Typ der Eigenschaft an. Jeder Typ weist einen bestimmten Indexwert auf.
EnableQueryRules
Ein boolescher Wert, der angibt, ob Abfrageregeln für die Abfrage aktiviert werden
true, um Abfrageregeln zu aktivieren; andernfalls false. Der Standardwert ist true.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablequeryrules=false
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableQueryRules': 'false'
}
ReorderingRules
Spezielle Regeln für die Neuanordnung der Suchergebnisse. Diese Regeln können angeben, dass Dokumente, die bestimmte Bedingungen erfüllen, weiter oben oder unten in den Ergebnissen platziert werden. Diese Eigenschaft wird nur angewendet, wenn die Suchergebnisse basierend auf dem Rang sortiert sind. Sie müssen eine POST-Anforderung für diese Eigenschaft verwenden; dies funktioniert nicht für eine GET-Anforderung.
Im folgenden Beispiel bezieht sich MatchType auf ReorderingRuleMatchType. Im folgenden Beispiel spezifiziert 'MatchType': '0'
Folgendes: ResultContainsKeyword
.
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ReorderingRules': {
'results': [
{
'MatchValue': '<someValue>',
'Boost': '10',
'MatchType': '0'
}
]
}
}
ProcessPersonalFavorites
Ein boolescher Wert, der angibt, ob persönliche Favoriten in den Suchergebnissen zurückgegeben werden
true, um persönliche Favoriten zurückzugeben; andernfalls false.
Beispiel für GET-Anforderung
GET http://_server_/_api/search/query?querytext='sharepoint'&processpersonalfavorites=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'ProcessPersonalFavorites': 'false'
}
QueryTemplatePropertiesUrl
Speicherort der Datei queryparametertemplate.xml. Diese Datei wird verwendet, um anonymen Benutzern das Erstellen von Search-REST-Abfragen zu ermöglichen.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
QueryTemplatePropertiesUrl : 'spfile://webroot/queryparametertemplate.xml'
}
HitHighlightedMultivaluePropertyLimit
Anzahl der Eigenschaften für die Anzeige der Treffermarkierung in den Suchergebnissen
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedmultivaluepropertylimit=2
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'HitHighlihtedMultivaluePropertyLimit': '2'
}
EnableOrderingHitHighlightedProperty
Ein boolescher Wert, der angibt, ob die Eigenschaften für die Treffermarkierung sortiert werden können
true, um Sortierungsregeln zu aktivieren; andernfalls false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableorderinghithighlightedproperty=false
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableOrderingHitHighlightedProperty': 'false'
}
CollapseSpecification
Verwaltete Eigenschaften zum Reduzieren einzelner Suchergebnisse. Ergebnisse werden auf ein Ergebnis oder eine angegebene Anzahl von Ergebnissen reduziert, wenn sie beliebigen individuellen Reduzierungsspezifikationen entsprechen. In einer einzelnen Reduzierungsspezifikation werden die Ergebnisse reduziert, wenn ihre Eigenschaften allen individuellen Eigenschaften in der Reduzierungsspezifikation entsprechen.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&collapsespecification='Author:1 ContentType:2'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'CollapseSpecification': 'Author:1 ContentType:2'
}
EnableSorting
Ein boolescher Wert, der angibt, ob die Suchergebnisse sortiert werden
True , um Suchergebnisse mithilfe von SortList zu sortieren, oder nach Rang, wenn SortList leer ist. false, um die Ergebnisse unsortiert zu lassen.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablesorting=false
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableSorting': 'false'
}
GenerateBlockRankLog
Ein boolescher Wert, der angibt, ob Blockrang-Protokollinformationen in der Eigenschaft BlockRankLog der überlappenden Ergebnistabelle zurückgegeben werden. Ein Blockrang-Protokoll enthält die Textinformationen zur Blockbewertung und die Dokumente, die dedupliziert wurden.
true, um Blockrang-Protokollinformationen zurückzugeben; andernfalls false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&generateblockranklog=true
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'GenerateBlockRankLog': 'true'
}
UIlanguage
Der Gebietsschemabezeichner (LCID) der Benutzeroberfläche (siehe Von Microsoft zugewiesene Gebietsschema-IDs).
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&uilanguage=1044
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'UILanguage': '1044'
}
DesiredSnippetLength
Bevorzugte Anzahl von Zeichen in der Treffermarkierungsübersicht für ein Suchergebnis
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&desiredsnippetlength=80
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'DesiredSnippetLength': '80'
}
MaxSnippetLength
Maximale Anzahl von Zeichen in der Treffermarkierungsübersicht für ein Suchergebnis
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&maxsnippetlength=100
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'MaxSnippetLength': '100'
}
SummaryLength
Anzahl der Zeichen in der Ergebnisübersicht für ein Suchergebnis
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&summarylength=150
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'Summarylength': '150'
}
EnableDynamicGroups
Ein boolescher Wert, der angibt, ob die Ergebnisse aus privaten Microsoft 365-Gruppen einbezogen werden sollen.
true, um die Ergebnisse aus privaten Microsoft 365-Gruppen einzubeziehen, andernfalls false. Der Standardwert ist false.
Beispiel für GET-Anforderung
GET http:// _server_/_api/search/query?querytext='sharepoint'&Properties='EnableDynamicGroups:true'
Beispiel für POST-Anforderung
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [ {
'Name': 'EnableDynamicGroups',
'Value': { 'BoolVal': true }
}]
}
Ermöglichen anonymer Search-REST-Abfragen
Sie können die Suche so konfigurieren, um Search-REST-Abfragen anonymer Benutzer zuzulassen. Websiteadministratoren können entscheiden, welche Abfrageparameter unter Verwendung der Datei queryparametertemplate.xml anonymen Benutzern zur Verfügung gestellt werden. Dieser Abschnitt beschreibt die Konfiguration Ihrer Website, um anonymen Zugriff zu ermöglichen und die Datei queryparametertemplate.xml zu erstellen.
So ermöglichen Sie anonyme Search-REST-Abfragen
Ermöglichen Sie den anonymen Zugriff auf die Webanwendung und Veröffentlichungswebsite. Weitere Informationen dazu finden Sie unter Verwalten von Berechtigungsrichtlinien für eine Webanwendung in SharePoint und Planen von Benutzerauthentifizierungsmethoden in SharePoint auf TechNet.
Fügen Sie eine neue Dokumentbibliothek namens QueryPropertiesTemplate zur Veröffentlichungswebsite hinzu.
Erstellen Sie eine XML-Datei namens queryparametertemplate.xml, und kopieren Sie die folgende XML in die Datei.
<QueryPropertiesTemplate xmlns="https://www.microsoft.com/sharepoint/search/KnownTypes/2008/08" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <QueryProperties i:type="KeywordQueryProperties"> <EnableStemming>true</EnableStemming> <FarmId>FarmID</FarmId> <IgnoreAllNoiseQuery>true</IgnoreAllNoiseQuery> <KeywordInclusion>AllKeywords</KeywordInclusion> <SiteId>SiteID</SiteId> <SummaryLength>180</SummaryLength> <TrimDuplicates>true</TrimDuplicates> <WcfTimeout>120000</WcfTimeout> <WebId>WebID</WebId> <Properties xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:KeyValueOfstringanyType> <a:Key>_IsEntSearchLicensed</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>EnableSorting</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>MaxKeywordQueryTextLength</a:Key> <a:Value i:type="b:int" xmlns:b="http://www.w3.org/2001/XMLSchema">4096</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>TryCache</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> </Properties> <PropertiesContractVersion>15.0.0.0</PropertiesContractVersion> <EnableFQL>false</EnableFQL> <EnableSpellcheck>Suggest</EnableSpellcheck> <EnableUrlSmashing>true</EnableUrlSmashing> <IsCachable>false</IsCachable> <MaxShallowRefinementHits>100</MaxShallowRefinementHits> <MaxSummaryLength>185</MaxSummaryLength> <MaxUrlLength>2048</MaxUrlLength> <SimilarType>None</SimilarType> <SortSimilar>true</SortSimilar> <TrimDuplicatesIncludeId>0</TrimDuplicatesIncludeId> <TrimDuplicatesKeepCount>1</TrimDuplicatesKeepCount> </QueryProperties> <WhiteList xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:string>RowLimit</a:string> <a:string>SortList</a:string> <a:string>StartRow</a:string> <a:string>RefinementFilters</a:string> <a:string>Culture</a:string> <a:string>RankingModelId</a:string> <a:string>TrimDuplicatesIncludeId</a:string> <a:string>ReorderingRules</a:string> <a:string>EnableQueryRules</a:string> <a:string>HiddenConstraints</a:string> <a:string>QueryText</a:string> <a:string>QueryTemplate</a:string> </WhiteList> </QueryPropertiesTemplate>
Aktualisieren Sie die
SiteId
Elemente ,FarmId
undWebId
mit den Werten für Ihre Farm, Website und Veröffentlichungswebsitesammlung.Speichern Sie die Datei queryparametertemplate.xml in der QueryPropertiesTemplate-Dokumentbibliothek.
Fügen Sie den Parameter
QueryTemplatePropertiesUrl
zu Ihrem Search-REST-Aufruf hinzu, und geben Siespfile://webroot/queryparametertemplate.xml
als Wert an.
Datei "queryparametertemplate.xml"
Die wichtigsten Elemente in der Datei queryparametertemplate.xml sind:
Element QueryProperties
Enthält ein serialisiertes QueryProperties-Objekt .
Element WhiteList
Enthält die Liste der Abfrageeigenschaften, die der anonyme Benutzer festlegen darf.
Wenn eine anonyme Search-REST-Abfrage gesendet wird, wird das Abfrageobjekt mit den Informationen im QueryProperties-Element erstellt. Dann werden alle Eigenschaften in der Positivliste aus der eingehenden Abfrage in das neu erstellte Abfrageobjekt kopiert.