Compartir a través de


Información general de la API de REST de SharePoint Search

Agregue la función de búsqueda a las aplicaciones de cliente y móviles mediante el servicio REST de búsqueda en SharePoint y en cualquier tecnología que sea compatible con las solicitudes web REST.

Cuando realice una consulta en el contexto de un usuario de SharePoint Online, obtendrá resultados de:

  • Contenido de colecciones de sitios de SharePoint Online
  • Contenido en grupos de Microsoft 365
  • Contenido compartido de OneDrive para la Empresa (contenido accesible para otros usuarios además del propietario del OneDrive para la Empresa)
  • Contenido de SharePoint Server indexado a través de una aplicación de servicio de búsqueda en la nube. Obtenga información sobre la búsqueda híbrida en la nube.

Soporte de Red de entrega de contenido (CDN)

Si la red CDN privada o pública de Office 365 está habilitada para optimizar el rendimiento de los activos, esta sección se aplica a usted. Si los resultados de búsqueda contienen imágenes que se sirven desde la CDN, la dirección URL de la imagen será la dirección URL de la CDN que se devolverá en los resultados, no la ubicación de la biblioteca de activos. Para más información sobre la CDN vea Usar la red de entrega de contenido (CDN) de Office 365 con SharePoint Online.

Realizar consultas con el servicio REST de búsqueda

Buscar en SharePoint incluye un servicio REST de búsqueda que se puede usar para agregar funcionalidad de búsqueda a las aplicaciones de cliente y móviles mediante cualquier tecnología compatible con las consultas web REST. Puede usar el servicio REST de búsqueda para enviar consultas de lenguaje de consulta de palabras clave (KQL) o lenguaje de consulta FAST (FQL) en sus Complementos de SharePoint, aplicaciones de cliente remoto, aplicaciones móviles y otras aplicaciones. El servicio REST de búsqueda admite tanto solicitudes POST HTTP como GET HTTP.

Solicitudes GET

Construya el URI de la solicitud GET de la consulta en el servicio REST de búsqueda de la siguiente manera:

GET /_api/search/query

Para las solicitudes GET, especifique los parámetros de consulta en la dirección URL. Puede construir la dirección URL de la solicitud GET de dos maneras:

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>)

Solicitudes POST

Construya el URI de la solicitud POST de la consulta en el servicio REST de búsqueda de la siguiente manera:

POST /_api/search/postquery

Para las solicitudes POST, pase los parámetros de consulta en la solicitud en el formato Notación de objetos de JavaScript (JSON). La versión POST HTTP del servicio REST de búsqueda admite todos los parámetros que admitía la versión GET HTTP. Sin embargo, algunos de los parámetros tienen diferentes tipos de datos, como se describe en la tabla 1.

Tabla 1. Parámetros de consulta con diferentes tipos de datos para las solicitudes POST

Parámetro Tipo de datos
SelectProperties string[]
RefinementFilters string[]
SortList Sort
HitHighlightedProperties string[]
Properties Microsoft.SharePoint.Client.Search.Query.KeywordQueryProperties

Use las solicitudes POST en las siguientes situaciones:

  • Cuando va a superar la restricción de longitud de la dirección URL con una solicitud GET.
  • Cuando no puede especificar los parámetros de consulta en una dirección URL simple. Por ejemplo, si tiene que pasar valores de parámetro que contienen una matriz de tipo complejo, o cadenas de valores separados por comas, tendrá más flexibilidad si construye la solicitud POST.
  • Cuando usa el parámetro ReorderingRules, porque solo es compatible con las solicitudes POST.

Formato de resultados de búsqueda REST

De forma predeterminada, los resultados se devuelven en formato XML. Para obtener resultados en formato JSON, agregue el siguiente encabezado a la solicitud:

accept: application/json;odata=verbose

Si no necesita metadatos, puede usar en su lugar:

accept: application/json;odata=nometadata

Uso de parámetros de consulta con el servicio de búsqueda REST

Cuando realiza una llamada al servicio REST de búsqueda, debe especificar parámetros de consulta con la solicitud. Buscar en SharePoint usa esos parámetros de consulta para construir la consulta de búsqueda. Con una solicitud GET, se especifican los parámetros de consulta en la dirección URL. Para las solicitudes POST, se pasan los parámetros de consulta en el cuerpo del formato Notación de objetos de JavaScript (JSON). Las siguientes secciones describen los parámetros de consulta que puede usar para enviar consultas de búsqueda con el servicio REST de búsqueda.

Parámetro QueryText

Una cadena que contiene el texto de la consulta de búsqueda.

Ejemplo de solicitud GET

GET http://{server}/_api/search/query?querytext='sharepoint'

Ejemplo de solicitud POST

{
  'request': {
    'Querytext': 'sharepoint',
    'RowLimit': 20,
    'ClientType': 'ContentSearchRegular'
  }
}

QueryTemplate

Una cadena que contiene el texto que reemplaza al texto de la consulta, como parte de una transformación de consulta.

Ejemplo de solicitud GET

GET http://server/_api/search/query?querytext='sharepoint'&amp;querytemplate='{searchterms} author:johndoe'

Ejemplo de solicitud POST

{
  '__metadata': {
      'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
   },
  'Querytext': 'sharepoint',
  'QueryTemplate': '{searchterms} Author:johndoe'
}

EnableInterleaving

Un valor booleano que especifica si las tablas de resultados que se devuelven para el bloque de resultados están combinadas con las tablas de resultados que se devuelven para la consulta original.

true para combinar las tablas de resultados; en caso contrario, false. El valor predeterminado es true.

Cambie este valor solo si desea proporcionar su propia implementación intercalada.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enableinterleaving=true

Ejemplo de solicitud POST

{
  '__metadata': {
      'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableInterleaving': 'True'
}

Proveniente

El identificador de origen de resultados que se va a usar para ejecutar la consulta de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'SourceId': '8413cd39-2156-4e00-b54d-11efd9abdb89'
}

RankingModelId

El identificador del modelo de clasificación que se va a usar para la consulta.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;rankingmodelid= _CustomRankingModelID_

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'RankingModelId': 'CustomRankingModelID '
}

Empezar fila

La primera fila que se incluye en los resultados de búsqueda que se devuelven. Utilice este parámetro cuando desee implementar la paginación en los resultados de la búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;startrow=10

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'StartRow': '10'
}

Nota

Tenga en cuenta que para ofrecer una experiencia de búsqueda con un alto rendimiento, limitamos el valor máximo de StartRow a 50 000. Si necesita ver conjuntos de resultados más grandes, consulte Paginación para conjuntos de resultados grandes.

Límite de fila

El número máximo de filas generales que se devuelven en los resultados de búsqueda. En comparación con RowsPerPage, RowLimit es el número máximo de filas devuelto en general.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;rowlimit=30

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'RowLimit': '30'
}

Límite por página

El número máximo de filas que devolver por página. En comparación con RowLimit, RowsPerPage hace referencia al número máximo de filas que devolver por página y se utiliza principalmente cuando se desea implementar la paginación en los resultados de la búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;rowsperpage=10

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'RowsPerPage': '10'
}

SelectProperties

Las propiedades administradas que se devolverán en los resultados de búsqueda. Para devolver una propiedad administrada, establezca el indicador recuperable de la propiedad en true en el esquema de búsqueda.

Para la solicitud GET, especifique el parámetro SelectProperties en una cadena que contiene una lista separada por comas de propiedades. Para la solicitud POST, especifique el parámetro SelectProperties como una matriz de cadenas.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;selectproperties='Title,Author'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'SelectProperties': {
    'results': ['Title','Author']
  }
}

Culture

El identificador local (LCID) para la consulta (vea identificador de configuración local asignados por Microsoft).

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;culture=1044

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'Culture': '1044'
}

Filtros de refinación

El conjunto de filtros de refinamiento que se utiliza cuando se emite una consulta de refinamiento. Para las solicitudes GET, se especifica el parámetro RefinementFilters como un filtro FQL. Para las solicitudes POST, se especifica el parámetro RefinementFilters como una matriz de filtros FQL.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;refinementfilters='fileExtension:equals("docx")'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'RefinementFilters': {
    'results': ['fileExtension:equals("docx")']
  }
}

Refinadores

El conjunto de refinadores que devolver en un resultado de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;refiners='author,size'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'Refiners': 'author,size',
}

Restricciones ocultas

Los términos de consulta adicionales para anexar a la consulta.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;hiddenconstraints='developer'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'HiddenConstraints': 'developer'
}

Lista de soluciones

La lista de propiedades por las que se ordenan los resultados de la búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;sortlist='rank:descending,modifiedby:ascending'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'SortList': {
    'results': [
      {
        'Property': 'Created',
        'Direction': '0'
      },
      {
        'Property': 'FileExtension',
        'Direction': '1'
      }
    ]
  }
}

Permitir derivaciones

Un valor booleano que especifica si la lematización está habilitada.

true si está habilitada la lematización; de lo contrario, false. El valor predeterminado es true.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablestemming=false

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableStemming : 'False'
}

Eliminar duplicados

Un valor booleano que especifica si se han quitado los elementos duplicados de los resultados.

true para quitar los elementos duplicados; de lo contrario, false. El valor predeterminado es true.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;trimduplicates=false

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'TrimDuplicates': 'False'
}

Límite de tiempo

La cantidad de tiempo en milisegundos antes de que la solicitud de consulta agote el tiempo de espera. El valor predeterminado es 30000.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;timeout=60000

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'Timeout': '60000'
}

EnableNicknames

Un valor booleano que especifica si se usan los términos exactos de la consulta de búsqueda para buscar coincidencias o si también se utilizan los sobrenombres. true si se utilizan sobrenombres; de lo contrario, false. El valor predeterminado es False.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablenicknames=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableNicknames': 'True'
}

Permitir sonido

Un valor booleano que especifica si se utilizan las formas fonéticas de los términos de la consulta para buscar coincidencias.

true si se utilizan las formas fonéticas; de lo contrario, false. El valor predeterminado es false.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablephonetic=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnablePhonetic': 'True'
}

EnableFql

Un valor booleano que especifica si la consulta usa el lenguaje de consulta FAST (FQL).

true si la consulta es una consulta FQL; de lo contrario, false. El valor predeterminado es false.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablefql=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableFQL': 'True'
}

Propiedades destacadas

Las propiedades que se desean resaltar en el resumen de resultados de la búsqueda cuando el valor de la propiedad coincida con los términos de búsqueda especificados por el usuario. Para las solicitudes GET, los términos se especifican en una cadena que contiene una lista separada por comas de las propiedades. Para las solicitudes POST, se especifican como una matriz de cadenas.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;hithighlightedproperties='Title'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'HitHighlightedProperties':  {
    'results': ['Title']
  }
}

Pasar a tipos de resultados

Un valor booleano que especifica si se debe realizar un procesamiento de tipo de resultado de la consulta.

Es falso para realizar el procesamiento de tipo de resultado; de lo contrario, verdadero. El valor predeterminado es verdadero.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;bypassresulttypes=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'BypassResultTypes': 'true'
}

ProcessBestBets

Un valor booleano que especifica si se devuelven los resultados más probables de la consulta.

true para devolver los resultados más probables; de lo contrario, false. Este parámetro se usa únicamente cuando EnableQueryRules está establecido en true, de lo contrario se omite. El valor predeterminado es false.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;processbestbets=true&amp;enablequeryrules=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'ProcessBestBets': 'true',
  'EnableQueryRules': 'true'
}

ClientType

El tipo de cliente que emitió la consulta.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;clienttype='custom'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'ClientType': 'custom'
}

Información personalizada

El GUID para el usuario que envió la consulta de búsqueda.

Ejemplo de solicitud GET

GET http:// _\<server\>_/_api/search/query?querytext='sharepoint'&amp;personalizationdata=' _\<GUID\>_'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'PersonalizationData': ' <GUID> '
}

ResultsURL

La dirección URL de la página de resultados de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;resultsurl='http://server/site/resultspage.aspx'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint'
  'ResultURL': 'http://server/site/resultspage.aspx'
}

QueryTag

Etiquetas personalizadas que identifican la consulta. Puede especificar varias etiquetas de consulta, separadas por punto y coma.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint'
}

Propiedades

Propiedades adicionales para la consulta. Las solicitudes GET solo admiten valores de cadena. Las solicitudes POST admiten valores de cualquier tipo.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;properties='termid:guid'

Ejemplo de solicitud POST

{
  '__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
        }
      }
    ]
  }
}

Nota

Propiedades de consulta por tipo de valor especifica el tipo de la propiedad; cada tipo tiene un valor de índice específico.

EnableQueryRules

Un valor booleano que especifica si se habilitan las reglas de consulta para la consulta.

true para habilitar las reglas de consulta; de lo contrario, false. El valor predeterminado es true.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablequeryrules=false

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableQueryRules': 'false'
}

Organizar reglas

Reglas especiales para reordenar los resultados de la búsqueda. Estas reglas pueden especificar que los documentos que cumplan ciertas condiciones se clasifiquen más arriba o más abajo en los resultados. Esta propiedad solo se aplica cuando los resultados de la búsqueda se ordenan en función de la clasificación. Debe usar una solicitud POST para esta propiedad; no funciona en una solicitud GET.

En el ejemplo siguiente, MatchType hace referencia a ReorderingRuleMatchType. En el ejemplo siguiente, 'MatchType': '0' especifica ResultContainsKeyword.

Ejemplo de solicitud POST

{
  '__metadata': {
  'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'ReorderingRules':  {
    'results': [
    {
      'MatchValue': '<someValue>',
      'Boost': '10',
      'MatchType': '0'
    }
    ]
  }
}

Procedimiento personal favorito

Un valor booleano que especifica si se devuelven favoritos personales con los resultados de búsqueda.

true para devolver favoritos personales; de lo contrario, false.

Ejemplo de solicitud GET

GET http://_server_/_api/search/query?querytext='sharepoint'&amp;processpersonalfavorites=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'ProcessPersonalFavorites': 'false'
}

Propiedades de las plantillas de consultas del URL

La ubicación del archivo queryparametertemplate.xml. Este archivo se utiliza para permitir que los usuarios anónimos realicen consultas REST de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  QueryTemplatePropertiesUrl : 'spfile://webroot/queryparametertemplate.xml'
}

HitHighlightedMultivaluePropertyLimit

El número de propiedades para mostrar el resaltado de referencias en los resultados de la búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;hithighlightedmultivaluepropertylimit=2

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'HitHighlihtedMultivaluePropertyLimit': '2'
}

EnableOrderingHitHighlightedProperty

Un valor booleano que especifica si se pueden ordenar las propiedades destacadas de los resultados.

true para habilitar reglas de ordenación; de lo contrario, false.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enableorderinghithighlightedproperty=false

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'EnableOrderingHitHighlightedProperty': 'false'
}

CollapseSpecification

Las propiedades administradas que se utilizan para determinar cómo contraer los resultados de búsqueda individuales. Los resultados se contraen en uno o en un número especificado de resultados si coinciden con cualquiera de las especificaciones de contracción individuales. Dentro de una única especificación de contracción, los resultados se contraen si sus propiedades coinciden con todas las propiedades individuales de la especificación de contracción.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;collapsespecification='Author:1 ContentType:2'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'CollapseSpecification': 'Author:1 ContentType:2'
}

EnableSorting

Un valor booleano que especifica si se van a ordenar los resultados de búsqueda.

Es verdadero para ordenar los resultados de búsqueda mediante SortList, o por clasificación si el parámetro SortList está vacío. Es false para dejar los resultados sin ordenar.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;enablesorting=false

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'EnableSorting': 'false'
}

GenerateBlockRankLog

Un valor booleano que especifica si se debe devolver la información de registro de la clasificación por bloques en la propiedad BlockRankLog de la tabla de resultados intercalados. Un registro de clasificación por bloques contiene la información textual de la puntuación de los bloques y los documentos que se desduplicaron.

true para devolver la información de registro de la clasificación por bloques; de lo contrario, false.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;generateblockranklog=true

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'GenerateBlockRankLog': 'true'
}

UIlanguage

El identificador local (LCID) de la interfaz de usuario (consulte Las identificaciones locales asignadas por Microsoft ).

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;uilanguage=1044

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'UILanguage': '1044'
}

DesiredSnippetLength

El número preferido de caracteres que se mostrarán en el resumen de resaltado de referencias generado para un resultado de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;desiredsnippetlength=80

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'DesiredSnippetLength': '80'
}

MaxSnippetLength

El número máximo de caracteres que se mostrarán en el resumen de resaltado de referencias generado para un resultado de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;maxsnippetlength=100

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'MaxSnippetLength': '100'
}

SummaryLength

El número de caracteres que se mostrarán en el resumen de resultados para un resultado de búsqueda.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;summarylength=150

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext ': 'sharepoint',
  'Summarylength': '150'
}

EnableDynamicGroups

Un valor booleano que especifica si se van a incluir los resultados de grupos privados de Microsoft 365.

true para incluir resultados de grupos privados de Microsoft 365; en caso contrario, false. El valor predeterminado es False.

Ejemplo de solicitud GET

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;Properties='EnableDynamicGroups:true'

Ejemplo de solicitud POST

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'Properties': {
  'results': [ {
    'Name': 'EnableDynamicGroups',
    'Value': { 'BoolVal': true }
  }]
}

Habilitar las consultas de búsqueda REST anónimas

Puede configurar la búsqueda para admitir consultas REST de búsqueda de usuarios anónimos. Los administradores de sitio pueden decidir qué parámetros de consulta exponer a los usuarios anónimos mediante el uso del archivo queryparametertemplate.xml. En esta sección se describe cómo configurar su sitio para habilitar el acceso anónimo y crear el archivo queryparametertemplate.xml.

Para habilitar las consultas REST de búsqueda anónimas

  1. Habilite el acceso anónimo en la aplicación web y el sitio de publicación. Para obtener más información acerca de cómo hacerlo, consulte Administración de directivas de permisos para una aplicación web en SharePoint y Planear los métodos de autenticación de usuario en SharePoint en TechNet.

  2. Agregue una nueva biblioteca de documentos denominada QueryPropertiesTemplate al sitio de publicación.

  3. Cree un archivo XML llamado queryparametertemplate.xml y copie el siguiente código XML en el archivo.

    <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. Actualice los elementos SiteId, FarmId y WebId con los valores de la granja, el sitio web y la colección de sitios de publicación.

  5. Guarde queryparametertemplate.xml en la biblioteca de documentos QueryPropertiesTemplate.

  6. Agregue elQueryTemplatePropertiesUrlparámetro a la llamada de búsqueda REST y especifiquespfile://webroot/queryparametertemplate.xmlel valor.

Archivo queryparametertemplate.xml

Los elementos principales del archivo queryparametertemplate.xml son:

  • Elemento QueryProperties

    Contiene un objeto QueryProperties serializado.

  • Elemento WhiteList

    Contiene la lista de propiedades de consulta que puede establecer el usuario anónimo.

Cuando se envía una consulta REST de búsqueda anónima, el objeto de consulta se construye con lo especificado en el elemento QueryProperties. A continuación, todas las propiedades que aparecen en la lista blanca se copian de la consulta entrante en el objeto de consulta recién construido.

En esta sección

Vea también