Ahora los productos FastReport .NET, Core, Mono y OpenSource permiten conectarse a Elasticsearch. Elasticsearch es un programa de utilidad escalable para la búsqueda y el análisis de texto completo, que permite almacenar, buscar y analizar grandes volúmenes de datos de forma rápida y en tiempo real.
Puede obtener datos en formato JSON de Elasticsearch. FastReport .NET tiene una conexión a JSON y es bastante conveniente utilizar datos en este formato. Es por eso que este formato se utilizará como middleware entre FastReport .NET y Elasticsearch.
¡Novedad importante! FastReport implementa solo la conexión a Elasticsearch como fuente de datos, sin la oportunidad de buscar en los datos almacenados en él.
Para crear una conexión a Elasticsearch, haga clic en la pestaña Datos en el Diseñador y seleccione Add a data source. En la ventana que aparece, haga clic en Nueva conexión. Para conectarse, necesitará Elasticsearch de punto final e indicación de los títulos para el acceso a los datos, por ejemplo, datos de autorización (hay una cuadrícula para eso a continuación). Si se concede el acceso a los datos, aparecerá una lista de tablas después de hacer clic en el botón Siguiente. Para una conexión exitosa, marque a la izquierda del título de la tabla. Entonces la configuración de la conexión estará completa.
Después de conectar la fuente de datos, debe conectarle una banda.
Como resultado, el informe utilizará datos de la conexión creada a Elasticsearch.
Si necesita seleccionar datos para la conexión, puede realizar una consulta GET y usarla como una cadena de conexión JSON. En el siguiente ejemplo, puede ver una búsqueda de registros que contienen la palabra Bruno en el campo de nombre y se encuentran en el índice de demostración (estos son los nombres de la tabla en Elasticsearch). Además, si hay más de 10 registros, deberá agregar el parámetro de tamaño e indicar el número necesario de registros en él.
En el informe también deberá indicar el nombre de la fuente de datos en la propiedad de banda DataSource; luego, los datos se extraerán de la fuente al informe.
Un ejemplo de cómo conectarse a Elasticsearch desde el código:
// crear instancia de ConnectionStringBuilder de origen de datos ESDataSourceConnectionStringBuilder builder = new ESDataSourceConnectionStringBuilder(); // establecer punto final de Elasticsearch builder.EndPoint = "http://192.168.1.194:9200/"; // crear instancia de ESDataSourceConnection var connection = new ESDataSourceConnection(); //establecer cadena de conexión connection.ConnectionString = builder.ConnectionString; // en ella toda la tabla connection.CreateAllTables(); // establecer conexión de nombre connection.Name = "NewConnection"; // crear instancia de informe var report = new Report(); // agregar conexión al informe report.Dictionary.Connections.Add(connection); // establecer conexión mostrar connection.Enabled = true; // elija la tabla con el nombre "demo" y conéctela al informe foreach(TableDataSource table in connection.Tables) { if (table.Name == "demo") table.Enabled = true; }
Este código, podremos ver una nueva tabla de "demostración" en el Designer en la lista de conexiones disponibles.
Ahora sabe más sobre las oportunidades para crear una conexión a la base de datos Elasticsearch. Si necesita seleccionar datos, puede usar la conexión a JSON.