Freigeben über


Ü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&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;processbestbets=true&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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

  1. 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.

  2. Fügen Sie eine neue Dokumentbibliothek namens QueryPropertiesTemplate zur Veröffentlichungswebsite hinzu.

  3. 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>
    
  4. Aktualisieren Sie die SiteIdElemente , FarmIdund WebId mit den Werten für Ihre Farm, Website und Veröffentlichungswebsitesammlung.

  5. Speichern Sie die Datei queryparametertemplate.xml in der QueryPropertiesTemplate-Dokumentbibliothek.

  6. Fügen Sie den Parameter QueryTemplatePropertiesUrl zu Ihrem Search-REST-Aufruf hinzu, und geben Sie spfile://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.

Inhalt dieses Abschnitts

Siehe auch