La cláusula de consulta es una parte obligatoria de cada solicitud de búsqueda. Especifica qué buscar y en qué campo de índice buscar. Combine varias condiciones mediante operadores lógicos para crear consultas complejas.
Por ejemplo, puede combinar los campos title y subject del tipo TEXT para crear el campo de índice compuesto default. Después, busque con base en el campo de índice default para recuperar los documentos donde el campo title o subject contenga la consulta de búsqueda.
También puede usar únicamente el campo title para crear el campo de índice title_search. Luego, al buscar con base en el campo de índice title_search, solo se recuperarán los documentos donde el campo title contenga la consulta de búsqueda.
Sintaxis
Una cláusula de consulta adopta una de las formas a continuación:
|
Tipo de consulta |
Sintaxis |
|
Búsqueda por palabra clave |
|
|
Búsqueda por rango geográfico |
|
|
Búsqueda por rango numérico |
|
Parámetros
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
|
|
String |
Sí |
Campo de índice donde se busca. Se configura al definir el esquema del índice. |
|
|
String |
Sí |
Término o frase que se desea buscar. Escríbalo entre comillas simples ( |
|
|
INT |
No |
Peso de relevancia para la condición de consulta. Valores válidos: 0–99. Valor predeterminado: |
Operadores lógicos
Combine varias condiciones de consulta con los siguientes operadores. Todos los operadores deben escribirse en mayúsculas.
|
Operador |
Lógica |
Prioridad (de menor a mayor) |
Ejemplo |
|
|
Los documentos que coinciden con la segunda condición obtienen una clasificación superior |
1 (menor) |
|
|
|
Debe coincidir cualquiera de las condiciones |
2 |
|
|
|
Deben coincidir ambas condiciones |
3 |
|
|
|
Coincide la primera condición; se excluyen los documentos que cumplen la segunda |
4 |
|
|
|
Agrupación: se evalúa primero |
5 (mayor) |
|
El carácter | es una forma alternativa de OR:
query=title:'Peking University'|'Zhejiang University'
Consultas de frase
Encierre una consulta de búsqueda entre comillas dobles para ejecutar una consulta de frase. En este tipo de consulta, todos los términos permanecen conectados y conservan el mismo orden antes y después del análisis.
query=title:"Peking University"
Esto devuelve únicamente los documentos cuyo título contiene "Peking University" como frase exacta. No se devuelven los documentos que contienen "University in Beijing".
Ejemplos
Búsqueda por un solo campo
query=title:'Peking University'
AND: deben coincidir ambas condiciones
query=title:'Peking University' AND title:'Zhejiang University'
OR con AND: condiciones mixtas
query=(title:'Peking University' OR title:'Zhejiang University') AND type:'1'
ANDNOT con RANK: exclusión y ponderación
query=(title:'Peking University' ANDNOT title:'Tsinghua') RANK title:'Principal'
// Fine sort expression: text_relevance(title)
Se devuelven los documentos cuyo título contiene "Peking University" pero no "Tsinghua". Entre ellos, los documentos cuyo título también incluye "Principal" obtienen una clasificación superior.
Buscar en un campo de índice de tipo ARRAY
// arr_index_1 is an index built on an INT ARR field.
// Returns documents where arr_index_1 contains the value 1.
query=arr_index_1:'1'
Notas de uso
La cláusula de consulta es obligatoria y no puede estar vacía.
Las consultas de búsqueda deben encerrarse entre comillas simples (
') o comillas dobles (""). La falta de una comilla provoca un error de consulta o resultados inesperados.Solo los campos
TEXTySHORT_TEXTpueden combinarse para crear un índice compuesto.Para obtener información sobre cómo se analizan y tokenizan los términos, consulte Built-in analyzer.
Para consultas de rango geográfico y numérico, consulte Range search.