Todos los productos
Search
Centro de documentos

OpenSearch:Conversión de sintaxis de Solr

Última actualización: Sep 04, 2026

Esta página relaciona los tipos de esquema, los parámetros de consulta y las funciones de búsqueda de Solr con sus equivalentes en OpenSearch, para que pueda migrar su aplicación de Solr sin necesidad de hacer suposiciones.

Esquema

OpenSearch es compatible con various data types and analyzers. A continuación se muestra cómo se asignan las construcciones del esquema de Solr a OpenSearch.

Construcción de Solr

Equivalente en OpenSearch

Notas

INT, FLOAT, DOUBLE, LITERAL, TEXT

INT, FLOAT, DOUBLE, LITERAL, TEXT

Compatible de forma nativa. También son compatibles: INT_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, LITERAL_ARRAY, SHORT_TEXT.

LOCATION

Dos campos FLOAT o DOUBLE

Almacene la longitud y la latitud como campos separados.

BOOLEAN

INT

Utilice 0 para falso y 1 para verdadero.

DATE

INT

Marcas de tiempo en milisegundos. Los campos enviados desde un origen de datos se convierten automáticamente; los campos enviados mediante API deben convertirse manualmente.

DynamicField

Modificación del esquema

No hay compatibilidad con DynamicField. OpenSearch permite modificar el esquema de la aplicación en cualquier momento, por lo que debe agregar campos dinámicamente a través de la interfaz de gestión de esquemas.

CopyField

Fusión previa de campos

No hay compatibilidad con CopyField. Combine los campos de origen en un solo campo antes de la indexación.

patternTokenizer

Analizador personalizado con delimitador \t

Establezca el delimitador en \t. Convierta cualquier otro delimitador en sus datos de origen antes de enviarlos.

Payload analyzer

—

No compatible. Sin equivalente.

Bitwise analyzer

—

No compatible. Sin equivalente.

Paoding analyzer

Analizador básico de chino

OpenSearch proporciona un analizador básico de chino integrado con funcionalidad equivalente.

Límite de recuento de campos: OpenSearch admite un máximo de 256 campos por aplicación. Si requiere más, combine los campos que no sean de consulta de rango en un solo campo de tipo ARRAY para reducir el recuento total.

Parámetros de consulta

A continuación se muestra la relación entre los parámetros de consulta de Solr y sus equivalentes en OpenSearch.

Parámetro de Solr

Equivalente en OpenSearch

Notas

| q | Cláusula query | Obligatorio. Consulte las reglas de conversión de q

para la asignación de operadores booleanos. |

fq

Campo de filtro

Filtra los documentos recuperados sin afectar las puntuaciones de relevancia. Utilice campos de filtro para consultas no difusas y campos de consulta para consultas difusas. No utilice fq junto con la ordenación.

fl

Parámetro fetch_fields

Define qué campos se deben devolver.

hl

Configuración de resumen y etiquetas HTML

Configure esta opción en la consola de OpenSearch.

start

start en la cláusula config

Equivalente.

rows

hit en la cláusula config

Equivalente.

wt

format en la cláusula config

Equivalente.

df

Campo de consulta predeterminado

Equivalente.

sort

Expresión de ordenación

field desc → -field; field asc → +field; score → sort=RANK (ordena los resultados en orden ascendente).

facet

Cláusula aggregate

El campo debe tener configurado su atributo de índice. Consulte las reglas de conversión de facetas.

group

Cláusula distinct + cláusula sort

No hay compatibilidad con group. Utilice la cláusula distinct junto con la cláusula sort para escenarios de agrupación simples.

stats

Cláusula aggregate

Funciones compatibles: min, max, count, avg. No compatibles: missing, sumOfSquares, mean, stddev, distinctValue, countDistinct.

Reglas de conversión de q

El parámetro q se asigna a la cláusula query de OpenSearch. A continuación se detalla cómo se convierten los operadores booleanos de Solr.

Consulta de Solr

Consulta de OpenSearch

Ejemplo

field:value (operador :)

No compatible

Utilice campos de filtro para coincidencias exactas.

Índice de rango

Rango filtrado

Convierta las consultas de rango en expresiones de rango basadas en filtros.

+A

A

Se elimina el prefijo +.

-A

No compatible

—

A AND B

A AND B

Equivalente directo.

A AND -B

A ANDNOT B

A OR B

A OR B

Equivalente directo.

A OR +B

A RANK B

A AND B OR C

A AND B RANK C

Ejemplo: Hongfushi AND Apple OR Shandong

A OR B AND C

B AND C RANK A

Ejemplo: Hongfushi OR Apple AND Shandong

A AND B OR +C

A AND B AND C

Ejemplo: Hongfushi AND Apple OR +Shandong

A OR +B AND C

B AND C RANK A

Ejemplo: Hongfushi OR +Apple AND Shandong

+A OR B AND C

A AND B AND C

Ejemplo: +Hongfushi OR Apple AND Shandong

A AND B OR -C

(A AND B) ANDNOT C

Ejemplo: Hongfushi AND Apple OR -Shandong

A AND -B OR C

A ANDNOT B RANK C

Ejemplo: Apple AND -Hongfushi OR Shandong

-A AND B OR C

B ANDNOT A RANK C

Ejemplo: -Hongfushi AND Apple OR Shandong

A OR B AND -C

B ANDNOT C RANK A

Ejemplo: Hongfushi OR Apple AND -Shandong

A OR -B AND C

C ANDNOT B RANK A

Ejemplo: Hongfushi OR -Shandong AND Apple

-A OR B AND C

(B AND C) ANDNOT A

Ejemplo: -Hongfushi OR Shandong AND Apple

A OR B OR -C

(A OR B) ANDNOT C

Equivalente independientemente del orden de los operandos.

A AND B OR C AND D

A AND B AND C AND D

Reglas de conversión de facetas

Parámetro de Solr

Equivalente en OpenSearch

Notas

facet.field

group_key en la cláusula aggregate

facet.limit

max_group en la cláusula aggregate

Valor predeterminado: 1000.

facet.mincount

No compatible

Procese todos los resultados manualmente y filtre en el lado del cliente.

facet.offset

No compatible

Implemente la paginación manualmente en todos los resultados.

facet.sort

No compatible

Ordene todos los resultados manualmente.

Ejemplo:

# Solr
facet=true&facet.field=price&facet.limit=200

# OpenSearch
aggregate=group_key:price,agg_fun:count(),max_group:200

Limitaciones

Tenga en cuenta las siguientes limitaciones durante la migración.

Paginación profunda

OpenSearch proporciona dos interfaces para recuperar resultados:

  • search: Consultas estándar. Devuelve hasta 5,000 resultados con soporte para cambio de página (máximo 500 resultados por página).

  • scroll: Exportación de datos. Exporta decenas de millones de registros sin soporte de ordenación. Utilice esta opción para la extracción masiva de datos y el análisis sin conexión.

Precisión de los resultados estadísticos

OpenSearch utiliza muestreo y estimación para mantener el rendimiento de recuperación, por lo que los resultados estadísticos (como los recuentos de facetas) pueden no ser exactos.

Recuento total de resultados

El número total de resultados siempre es una estimación, independientemente del tamaño real del conjunto de datos.

Múltiples operadores OR

Las cadenas de consulta tienen una longitud codificada máxima de 1 KB. Las consultas con muchos operadores OR pueden superar este límite y no devolver resultados. Para solucionar esto:

  • Aumente el límite de longitud de la cadena de consulta en la configuración de su aplicación.

  • Divida la consulta en varias solicitudes simultáneas y combine los resultados.