Banana is a data visualization tool that uses Solr for data analysis and display.

Data display in Banana is based on dashboards, which contain rows of panels that implement the analysis required.

Banana is open source, and based on a port of Kibana. The source code is available in Github at https://github.com/Lucidworks/banana/.

Banana Dashboards

The Banana dashboard is the central feature of Banana, and is the place where the various visualizations are stored.

A dashboard contains one or more controls for search query inputs and one or more quantitive displays over the results for that query. These controls and displays are called panels.

Dashboards run as a client-side application in a web browser. Solr facets provide the quantifications required for visualizations, which can be charts, graphs, tables, and maps (for geospatial data). Dashboards also have tabular displays for drilling down to the individual documents in a results set.

Dashboard Header Row

The top of the Banana dashboard is the header row, which contains several icons that control overall Banana settings and saving or loading a specific dashboard:

Banana icons

  • The home icon is the "Go to Default Dashboard" control.

  • The sheet of paper icon opens the "Create Dashboard" dialog.

  • The folder icon opens the "Load Dashboard" dialog.

  • The diskette icon opens the "Save Dashboard" dialog.

  • The gear icon opens the "Configure Dashboard" dialog for the current dashboard, which has tabs:

    • General: title and page style

    • Rows: for adding, deleting and arranging the rows

    • Controls: loading, save, and export options

    • Solr: configure the location of the Solr server and set global query parameters.

Dashboard Components

A Dashboard is a named layout which consists of:

  • Input panels which compose and submit the Solr query.

  • Display panels which provide information and visualizations of the results set.

Each time the input controls are updated, a new query is sent to Solr which then repopulates the dashboard with the results set, causing all displays to update automatically.

Timeseries Dashboards

Banana was initially developed for logfile analysis and many available panel types depend on time-based data to work properly. If your data includes timestamps (using Solr trie-date fields), Banana provides different levels of granularity allowing for visualization of historical trends.

The more information and structure that can be extracted from the source content and modeled in a Solr document, the more possibilities for analytics and visualizations. At a minimum timeseries data must include:

  • a timestamp in an allowed standard date/time format

  • text message(s) which is unstructured or semi-structured

Once the timeseries data has been indexed, many of the panel types can be used for display and analysis.

Non-Timeseries Dashboards

Banana dashboards are general enough so that collections that do not contain timestamp information can still be analyzed with a Banana dashboard.

The Query and Filtering panel types control input data for analysis.

If no faceting or quantitative information is present, a table can be used to drill-down on the documents in the Solr collection.

Creating Dashboards

Dashboard layouts are controlled by the Dashboard Settings menu. The dashboard setting menu is toggled open and closed.

Changes to dashboards are not saved automatically. Always remember to hit the "Save" button to save your work.

Configuring Rows

A Dashboard consists of one or more rows, each of which contains one or more panels.

The Dashboard display contains a set of control icons on each row allowing you to hide/unhide, position, and delete that row.

To add a row, enter a title for the new row, the height of the row, if it is editable, and then click Create Row. After the row is created, it will appear in the table of rows, and you can click the up or down arrows to arrange the new row with the existing rows.

Configuring Panels

To add a panel to a row, click the + icon to the right of the last panel in a row; if this icon does not appear, the row is full.

You can also click the 'gear' icon to the left of the first panel. This will bring up the row configuration popup, where the last tab is 'Add Panel'.

When adding a panel, the configuration screen varies depending on the required properties for each panel type. From the Add Panel tab, all of the available properties of each type are displayed, allowing you to define the panel name, the data properties, and any queries that should be used to limit the data used in the panel.

When editing a panel, however, the view is split between three tabs: General, for name and size configuration; Panel, for the data properties; and Queries, for defining queries.

When defining or modifying a panel, the size of the panel is defined by the "span" of the panel across the row. The span is an integer between 1 and 12. A full row is 12. All panels need at least 2, most need at least 4.

Nested Panel Layout using Column Panels

A column panel is a container panel for other display panels. The properties of a column panel allow you to define the panels you would like included.

Choose the type of panel, and then define the properties according to the type chosen. When you have finished configuring the included panel, click Create Panel.

Below the Add Panel to Column area, the configured panels will be shown as a list, in the order they will appear on the dashboard. From this list, you can change the height of each panel, remove panels, change the display order, or temporarily hide panels.

Panels

Input Panels

Dashboards are populated with the results of a Solr query created from a series of input panels which specify a search query or facet fields and ranges:

For time-series data, facet fields are date-time fields and facets are specified using the "date-picker" widget. For non-time series data, the "filters" widget controls the faceting.

Facet Panel

The Facet Panel provides a way to include facets to the dashboard to restrict the data set being shown in all panels of the dashboard.

The options for this panel are:

Add Facet Field

Select the field to facet on. Once a few letters have been entered, a dropdown list will appear with matching field names for easier selection. Once the name appears in the box, click the + icon to add it to the Facet Fields list to the right. Clicking on a field name in the Facet Field list will remove it.

Title

The title of the facet list (which is different from the title of the panel).

Facet Limit

The number of facets per field selected.

Max Number of Facet Fields

The maximum number of facet fields to display, even if more fields are picked. Large numbers of facet fields may cause significant slowdowns in the display of data.

Full Text Search Panel

The fullTextSearch Panel is an input panel that allows you to view records that match a query.

It includes options to choose the fields to facet on. Like other input panels, selecting a facet will limit the data displayed in other panels.

Records are collapsed by default; click the down-caret icon to the right side of the panel to open up each record for inspection. Records can be displayed in a table, JSON, or "raw" format.

While the records displayed are the result of the query that drives the dashboard, this panel does not include a search box.

Query Panel

The Query Panel provides a search box to allow real-time filtering of data.

It is a best practice to include one of this type of panel on your dashboard. With this panel, you can add, remove, label, pin and color queries.

There are no specific properties for a query panel.

Timepicker Panel

The Timepicker Panel controls the time range filters. This control should be included on log and and any other dashboard based on time-series data.

The configuration properties are:

Default Mode

The options are relative, which provides a series of relative timeframes (such as 30 days ago, 1 year, etc.); absolute, where you define the start and end dates; or since, where you define only the starting date, with the current date assumed.

Time Field

The field to use for time-based data.

Relative Time Options

When the mode is set to relative, you can provide a comma-separated list of relative time options, such as "5m,1h,2d". If you use the default range, you should set the panel to span at least 6, to prevent the time selections from overrunning the edges of the panel.

Default Timespan

The time option that should be selected as a default.

Auto-refresh

When the mode is set to either relative or since, you may want your dashboard to automatically refresh with the latest data. These options allow you to configure auto-refresh:

Enable

Select to enable auto-refresh.

Interval

The interval, in seconds, to refresh.

Minimum Interval

The minimum interval, in seconds. to refresh.

Display Panels

Bar Panel

The Bar Panel uses d3.js to display a simple bar chart.

It has two available options: to choose the field to use for data and to select the maximum number of bars to display.

Bettermap Panel

The Bettermap Panel displays geographic points in clustered groups on a map.

This panel type does not use the terms facet and it does query sequentially. This means that it transfers more data and is generally heavier to compute, while showing less actual data.

If you have a time filter, it will attempt to show to most recent points in your search, up to your defined limit.

Docviewer Panel

The Docviewer Panel provides a simple search result interface to be able to view the documents in Solr. It shows only the field designated as the title field and the field designated as the content field.

The panel shows one document at a time, and only the two fields designated in the options. It does allow for term highlighting.

Title Field

The field in the Solr index to be used as the title for each document.

Content Field

The field in the index to be used as the content for each document.

Unique Key Field

The field in the index that is defined as the unique key.

Max Number of Doc

The maximum number of documents to retrieve for display.

Frag Size

The number of characters (frag=fragment) to show for highlighted terms.

Simple Pre

HTML tag for the beginning of the highlighted term(s).

Simple Post

HTML tag for the closing of the highlighted term(s)

Filtering Panel

A Filtering Panel shows the ranges applied to the query facets. It is a feedback/information panel that shows the limits applied to the data. A Filtering Panel should always be included on an analytics dashboard as an aid to interpreting/understanding the other visualizations on the dashboard.

Heatmap Panel

The Heatmap Panel provides a heat map for representing pivot facet counts.

The Panel tab defines what data is displayed in the panel and how it is displayed.

Row Field

The field from Solr that will provide data for rows.

Column Field

The field from Solr that will provide data for columns.

Rows Limit

The maximum number of rows to display.

Heatmap Color

The base color for the heatmap. The intensity of the color in any cell is proportional to the pivot facet count for that cell.

Histogram Panel

The Histogram Panel provides a binned display of queries per time interval, using Solr’s range facets for data.

Configuration Options
Mode

The value for the y-axis. The options are count or values.

When choosing values, you must select a field to use as the basis for the values. This field must have a numeric field type. You can also select a Group By Field, which cannot be a multi-valued field, and creates multiple charts.

Time_field

The value for the x-axis. This is the field to use for display of the time information for the histogram.

Chart Settings

There are several chart settings.

Bars

Enable to show bars on the chart.

Lines

Enable to show lines on the chart. When enabled, a few more settings will be available:

Line Fill

The fill area, from 0-10.

Line Width

The width of the lines, in pixels.

Smooth

Enable to remove 0 values from lines.

Points

Enable to show points on the chart.

Stack

Enable to stack multiple series together.

Percent

Enable to show the stack as a percentage of the total (only displayed when stack is enabled).

Legend

Enable to show the legend.

xAxis

Enable to display the x-axis values.

yAxis

Enable to display the y-axis values.

Time correction

If time correction should be applied to use the browser’s timezone. Select utc to always display times in UTC.

Zoom Links

Enable to allow users to zoom out in time.

View Options

Enable to show an options section.

Auto-interval

Enable to allow the chart to automatically scale the intervals.

Resolution

When Auto-interval is enabled, a best effort will be made to show this number of bars.

Tooltip Settings

The tooltip settings control the display of data when users hover over a line or bar on the chart.

Stacked Values

When using stacked values, this defines if the data is displayed as cumulative, or as individual values.

Display Query

If an alias is set, it will be shown in the tooltip. If no alias is set, enable this to show the entire query.

Hits Panel

The hits panel shows the total hits for the current query input to a query panel.

The properties allow providing a title for the panel, the style of results, and the font size.

Map Panel

A Map Panel displays a map of shaded regions using any field that contains a 2-letter country or US state code. Regions with more hits are shaded darker.

This uses the Solr terms facet, so it is important that you set it to the correct field.

The following properties are defined for a map panel:

Field

the Solr field that has the 2-letter codes that will be used for the location data.

Max

a maximum number of countries to plot. The default is 100.

Map

the style of map to display. If your data spans the world, you can choose the world map. If your data is focused on Europe or the US instead, you can choose the Europe or US maps respectively.

Mode

the approach to summarizing the data. You can chose count, mean, maximum, minimum or sum. In order to use any mode other than count, the field type must be numeric.

Decimal Points

the number of digits to display after a decimal points.

Multiseries Panel

The Multiseries Panel provides a chart with multiple fields shown on a single chart. The fields chosen by the chart must all have the same field type.

X-Axis

Options for the x-axis.

Field Name

The field to use for the x-axis. Only one field is allowed, and it should be a date field.

Max Rows

The maximum number of rows to retrieve for the chart.

Left Y-Axis

Options for the left y-axis.

Y-Axis Field(s)

The fields to be plotted on the chart, separated by a comma.

Y-Axis Label

The label for the y-axis.

Interpolation Method

The interpolation method to use for missing or null values. This is based on D3 interpolation.

Show Legend

Select if the legend should be shown.

Add another Y-Axis

If a right-side y-axis should be added, choose this option to define the fields, label, and interpolation method, as needed.

Range Facet Panel

A rangeFacet panel provides a histogram view across any numeric field using Solr’s range.facet functionality. It is similar to the time series histogram, and allows selection of ranges and zooming in or out to the desired numeric range.

Range selections in the panel are reflected across the entire dashboard.

The rangeField defines the field in the index to use as the basis for the range. The field must use an integer-based field type.

The chart settings define how the data will be displayed. There are several options:

Bars

Enable to show bars on the chart.

Lines

Enable to show lines on the chart. When this option is chosen, additional options are available:

Line Fill

The fill area, from 0-10.

Line Width

The width of lines, in pixels.

Smooth

Enable to remove 0 values from lines.

Points

Enable to show points on the chart.

Legend

Enable to show the chart legend.

x-axis

Enable to show the x-axis values.

y-axis

Enable to show the y-axis values.

Zoom Links

Enable to allow uses to zoom out in time.

View Options

Enable to show an options section.

Minimum

Define the minimum value to display.

Maximum

Define the maximum value to display.

Interval

Define the interval between displayed values.

Scatter Plot Panel

The Scatterplot Panel provides scatter plot charts to show the relationships between two sets of data.

X-axis

The field to use for the x-axis. This must be a numeric field.

Y-axis

The field to use for the y-axis. This must be a numeric field.

Category field

The field to use for the relationships.

Max Rows

The maximum number of records to retrieve from the Solr index.

Sunburst Panel

The Sunburst Panel provides charting based on Solr pivot facets.

Facet Pivot String

The fields for the pivot facets. These are entered separated by commas.

Facet Limit

The number of facets per field.

Table Panel

The Table Panel allows you to create a table of field values from the Solr index that match the filters applied to the dashboard. While only the fields selected are displayed, clicking on any entry expands to show all fields of the document.

You can also export the documents, if needed, to CSV, XML or JSON by clicking the "Export" icon in the upper right of the panel.

When configuring the panel, you can choose the field(s) you would like to see in the table. You can enter as many fields as you’d like, but too many columns may require you to scroll horizontally to see all of your data.

In the display, you can add new fields on the fly, by clicking a field name from the list in the left side of the panel.

Click the '+' button to add the field, and you should see it listed in the Columns section to the right. Click on a column to remove it from the list.

Options

The display options allow defining how the table is displayed.

Header

Enable to see a header row in the table.

Sorting

Enable to be able to sort the data in the table.

Sort

Choose the field to sort on. Also choose the sort order by selecting the up or down carat to the right of the column name.

Font Size

Choose the font size for the display of the data.

Trim Factor

If the data is too long to fit in the column at your desired width, you can configure the point at which the data will be "trimmed" from display.

Add Hyperlink Column

If the column contains URLs that should be clickable, configure it here.

Display Images

If a URL in a hyperlink column links to an image, select this option to have the image appear instead of the URL.

Fields

This section provides a field picker to choose the fields that should appear in the table. Once selected, the fields appear to the right of the pulldown list; select one of the field names to remove it. Fields will appear in the table in the order they are added to this list.

Paging

The paging options allow control over how to deal with large amounts of data that may be easier to work with on separate pages.

Show Controls

Enable to show page forward and back options.

Overflow

If the data expands beyond the height of the window, you can choose to scroll through the records, or enable expand to expand the size of the panel to fit all of the data for that page.

Per Page

The number of items to display on each page.

Page Limit

The number of pages to display.

Pageable

This will automatically update based on the values of Per Page and Page Limit, to show the total number of items that will be displayed in the table.

Terms Panel

The Terms Panel displays the results of a Solr facet as a pie chart, bar chart, or a table.

A statistics field can be displayed as min/max/mean/sum, faceted by the Solr facet field, also displayed either as a pie chart, bar chart or a table.

A Terms Panel takes several properties, described below.

Field

The field to use as the basis of the facets that are used for display.

Length

The maximum number of terms to display. This will determine the number of items shown in the chart. For example, if "10" is chosen for a pie chart, only 10 slices of the pie will be shown.

Order

The sort order of the facets, descending or ascending.

Exclude Term(s)

This option allows you to provide a comma-separated list of terms that should be excluded from the chart.

Style

The style of chart, either bar, pie or table.

Legend

If you choose bar or pie as the style, you can then choose to display it above, below, to the right of, or to the left of the data. Or, choose none to not display a legend at all.

Legend Format

Choose either horizontal or vertical to determine the format of the

Missing

Enable to display missing values.

Other

Enable to have an "other" category for values that match the query but are not in the top terms displayed.

Donut

If you choose pie chart as the style, you can choose to display the chart as a donut, with an empty circle in the middle.

Tilt

If you choose pie chart as the style, you can choose to tilt the chart as an added effect.

Labels

Enable to show labels in the chart for your data.

Mode

The mode for the data. Choose count, mean, min, max, or sum. If choosing any mode other than count, the Stats Field selected must be a numeric field.

Stats Field

If you choose any mode other than count, you must then specify the field to use for statistics. This field must be a numeric field.

Display Precision

Choose the number of digits to display after a decimal point, as appropriate.

Text Panel

A Text Panel displays static text, which can be either unformatted plain text or formatted using either Markdown or HTML.

To configure a text panel, first choose the text format mode, then enter the panel contents. For plain text displays, the font size can be specified.

Ticker Panel

The Ticker Panel provides a stock-ticker style representation of how queries are moving over time.

When configuring a ticker panel, there is one primary property, "Time Ago", which defines the point in time to use as the basis for comparison.

For example, if the time is 1:10pm, your time picker was set to "Last 10m", and the Time Ago parameter was set to '1d', the panel would show how much the current query results have changed since 1:00 to 1:10pm yesterday.