Verwenden der Microsoft Search-API zum Anfordern von Rechtschreibkorrekturen
Sie können die Microsoft Search-API in Microsoft Graph verwenden, um Rechtschreibkorrekturen anzufordern, um Missübereinstimmungen zwischen Tippfehlern in Benutzerabfragen und richtigen Wörtern in übereinstimmenden Inhalten zu behandeln. Um Rechtschreibkorrekturen anzufordern, geben Sie die folgenden Eigenschaften in der queryAlterationOptions-Eigenschaft der searchRequest an:
enableSuggestion zum Aktivieren/Deaktivieren von Rechtschreibvorschlägen für die Benutzerabfrage. Sie können übergeben
true
, um die informationen zur vorgeschlagenen Rechtschreibkorrektur für Tippfehler in der Benutzerabfrage abzurufen.enableModification , um Rechtschreibänderungen für die Benutzerabfrage zu aktivieren/zu deaktivieren. Sie können übergeben
true
, um die Suchergebnisse für die korrigierte Abfrage abzurufen , wenn es keine Ergebnisse für die ursprüngliche Abfrage mit Tippfehlern gibt, und die entsprechenden Korrekturinformationen abrufen.
Die Priorität der Rechtschreibänderung ist höher als der Rechtschreibvorschlag, wenn beide aktiviert sind.
Wenn der Rechtschreibvorschlag deaktiviert ist, während die Rechtschreibprüfung aktiviert ist, können die Ergebnisse weiterhin den Rechtschreibvorschlag für die ursprüngliche Abfrage mit dem Tippfehler enthalten. Dies ist beabsichtigt, da das Feature standardmäßig den Rechtschreibvorschlag bereitstellt, wenn die Rechtschreibänderung aktiviert ist.
Alle Benutzerabfragezeichenfolgen sollten identisch sein, um Rechtschreibkorrekturen für Suchvorgänge mehrerer Entitäten zu ermöglichen.
Beispiel 1: Anfordern von Rechtschreibvorschlägen
Das folgende Beispiel fragt listItem-Ressourcen ab, die die Zeichenfolge accountt
enthalten, und fordert einen Rechtschreibvorschlag für die Abfrage an.
Die Antwort enthält änderungResponse-Objekte für den Rechtschreibvorschlag.
Anforderung
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"listItem"
],
"query": {
"queryString": "accountt"
},
"from": 0,
"size": 25,
"queryAlterationOptions": {
"enableSuggestion": true,
"enableModification": false
}
}
]
}
Antwort
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.searchResponse)",
"value": [
{
"searchTerms": [
"accountt"
],
"hitsContainers": [
{
"total": 0,
"moreResultsAvailable": false
}
],
"queryAlterationResponse": {
"@odata.type": "#microsoft.substrateSearch.alterationResponse",
"originalQueryString": "accountt",
"queryAlteration": {
"@odata.type": "#microsoft.substrateSearch.searchAlteration",
"alteredQueryString": "account",
"alteredHighlightedQueryString": "account",
"alteredQueryTokens": [
{
"offset": 0,
"length": 8,
"suggestion": "account"
}
]
},
"queryAlterationType": "Suggestion"
}
}
]
}
Beispiel 2: Anfordern von Rechtschreibänderungen
Das folgende Beispiel fragt listItem-Ressourcen ab, die die Zeichenfolge accountt
enthalten, und fordert eine Rechtschreibänderung für die Abfrage an.
In diesem Beispiel gibt es keine Ergebnisse für die ursprüngliche Abfrage mit Tippfehler accountt
. Die Antwort enthält Ergebnisse im Zusammenhang mit korrigierten Zeichenfolgen account
- und Änderungsresponse-Objekten für die Rechtschreibänderung.
Anforderung
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"listItem"
],
"query": {
"queryString": "accountt"
},
"from": 0,
"size": 25,
"queryAlterationOptions": {
"enableSuggestion": true,
"enableModification": true
}
}
]
}
Antwort
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.searchResponse)",
"value": [
{
"searchTerms": [
"account"
],
"hitsContainers": [
{
"total": 1,
"moreResultsAvailable": false,
"hits": [
{
"hitId": "FlULeN/ui/1GjLx1rUfio5UAAEl",
"rank": 1,
"summary": "",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"createdDateTime": "2019-06-10T06:37:43Z",
"lastModifiedDateTime": "2019-06-10T06:37:43Z",
"name": "web_part_test_long Notebook",
"webUrl": "https://contoso.sharepoint.com/sites/contoso-team/Lists/Issue tracker list/DispForm.aspx?ID=1",
"sharepointIds": {
"listId": "33498de0-d695-4d23-ac26-e1bf95a3206e",
"listItemId": "13"
},
"createdBy": {
"user": {
"displayName": "System Account"
}
},
"lastModifiedBy": {
"user": {
"displayName": "System Account"
}
},
"parentReference": {
"sharepointIds": {
"listId": "da61a2b0-4120-4a3f-812b-0fc0d79bf16b"
},
"siteId": "m365x231305.sharepoint.com,5724d91f-650c-4810-83cc-61a8818917d6,c3ba25dc-2c9f-48cb-83be-74cdf68ea5a0"
}
}
}
]
}
],
"queryAlterationResponse": {
"@odata.type": "#microsoft.substrateSearch.alterationResponse",
"originalQueryString": "accountt",
"queryAlteration": {
"@odata.type": "#microsoft.substrateSearch.searchAlteration",
"alteredQueryString": "account",
"alteredHighlightedQueryString": "account",
"alteredQueryTokens": [
{
"offset": 0,
"length": 8,
"suggestion": "account"
}
]
},
"queryAlterationType": "Modification"
}
}
]
}
Bekannte Einschränkungen
Die Rechtschreibkorrektur wird nur für die folgenden Ressourcen unterstützt: message, event, site, drive, driveItem, list, listItem und externalItem.