Al crear un índice de búsqueda, puede especificar una o más columnas de clave primaria como campos de enrutamiento. Cuando se escriben datos de índice en el índice de búsqueda, Tablestore determina la ubicación donde se distribuyen dichos datos según los valores de los campos de enrutamiento. Las filas que comparten los mismos valores en los campos de enrutamiento se indexan en la misma partición.
Procedimiento
-
Especifique uno o más campos de enrutamiento al crear un índice de búsqueda.
Si especifica campos de enrutamiento durante la creación del índice de búsqueda, estos se utilizan para localizar los datos de índice en las operaciones de lectura y escritura.
Puede modificar dinámicamente el esquema de un índice de búsqueda para ajustar sus campos de enrutamiento. Por ejemplo, es posible cambiar el campo de enrutamiento predeterminado por campos personalizados, o viceversa. El campo de enrutamiento predeterminado corresponde a la clave de partición. Para obtener más información, consulte Dynamically modify search index schema.
ImportanteSolo las columnas de clave primaria en Tablestore pueden configurarse como campos de enrutamiento. En la mayoría de los casos, basta con especificar un único campo de enrutamiento. Si define varios campos, el sistema concatena sus valores en uno solo para formar la clave de enrutamiento.
-
Al consultar datos mediante el índice de búsqueda, proporcione los campos de enrutamiento en la solicitud de consulta.
Tablestore escanea únicamente las particiones especificadas según los campos de enrutamiento incluidos en la solicitud de consulta. Esto reduce la latencia de consulta, ya que se limita el número de particiones que Tablestore debe examinar. Si configuró campos de enrutamiento para un índice de búsqueda, debe proporcionarlos obligatoriamente al realizar consultas con dicho índice. La presencia o ausencia de campos de enrutamiento no altera los resultados de la consulta; sin embargo, si no los especifica, Tablestore escaneará particiones irrelevantes, lo cual desperdicia recursos del sistema e incrementa la latencia.
ImportantePuede especificar uno o más valores para un campo de enrutamiento. No obstante, no es posible definir un rango de valores para dicho campo.
Métodos
Los campos de enrutamiento pueden configurarse desde la consola de Tablestore, o bien mediante Tablestore CLI o los SDK de Tablestore. Es posible definirlos tanto al crear un nuevo índice de búsqueda como al modificar uno existente. Esta sección presenta ejemplos sobre cómo especificar campos de enrutamiento durante la creación de un índice de búsqueda. A continuación se describen los requisitos previos necesarios antes de configurar campos de enrutamiento:
Después de crear un índice de búsqueda, puede modificar su esquema para ajustar los campos de enrutamiento. Para obtener más información, consulte Dynamically modify search index schema.
-
Se ha creado una data table que cumple simultáneamente con las siguientes condiciones:
El parámetro max versions de la tabla de datos está establecido en 1.
El tiempo de vida (TTL) de la tabla de datos está configurado en -1 o las operaciones de actualización están deshabilitadas.
Si planea usar los SDK de Tablestore para especificar campos de enrutamiento, debe tener un cliente inicializado. Para obtener más información, consulte Initialize a Tablestore client.
Si va a utilizar Tablestore CLI para definir campos de enrutamiento, asegúrese de haber instalado e iniciado dicha herramienta, además de haber configurado la información de la instancia a la que desea acceder. Para obtener más información, consulte Download the Tablestore CLI y Start the Tablestore CLI and configure access information.