Skip to main content

Guiding Search

· 4 min read
Adrian Png

The holy grail of search

If you asked me, I think Mike Hichwa's favourite 19.2 new feature is Faceted Search. Since the early adopter programme was launched on September 13, 2019, Mike has tweeted seven times about the EA (up till Sep 15).

See https://twitter.com/mikehichwa1/status/1172569124528017410.

You can find his other tweets here, describing how fast and easy it is to build these advanced search pages:

I share the same excitement and here's why.

For a little over two years, I was involved in a multi-centre research project that sought to collect and store donor biospecimen from across the province of British Columnbia. There were very strict ethics and privacy protocols on not only specimen collection, but also the process of obtaining and storing patient and specimen data. Deidentified data would be aggregated in a web portal for biomedical scientists to search and request suitable biomaterial for their studies. You can read more about the project here.

My then supervisor, Mark Wilkinson, was a huge proponent of the Semantic Web and was meticulous about storing accurate metadata and making data easily searchable by both human and machines. Each row of biospecimn data must be carefully characterised using ontological concepts, and then exposed on the web as structured data.

The semantically rich data would then either be:

  • Consumed by machines (applications)
  • Searched using a semantic query language like SPARQL; or
  • Visually using a tool like SIMILE Exhibit

Let's build a Movie Database Application to illustrate how Faceted Search helps guide a user to search the data. Rather than list the steps, the video below demonstrates how to import the movie dataset and then create an application that includes both an Interactive Report (IR) and a Faceted Search interface.

Suppose we wanted to look for the following:

A list of dramas from Asia that were released before the year 2000.

Let's first begin by searching for this data using the IR page:

Now do the same using the Faceted Search user interface (UI):

It typically takes about twice as long to get the desired result set using the IR. More importantly though, the facets provide a visual summary of the entire dataset, with a list of distinct groups of values and a row count of each group that help guide how a user might drilldown the data.

Before 19.2, such a sophisticated UI would require quite a bit more time to implement. In a previous project for a leading university library consortium, our team at Insum helped create a flexible search UI that incorporated Faceted Search using Oracle Text technology. The latter has other strengths and I would be surprised if there was a way to use it with this new APEX functionality.

Here's a quick list of tasks to introduce Faceted Search to an existing application.

  1. After creating a page, add a Classic Report region using the table or query of your choice for data source. It doesn't appear to support both Interactive Reports and Interactive Grids.
  2. Add a new region and select the new Faceted Search type. Change the page template to Left Side Column and place the new reigon on the Left Column.
  3. Next, under Source, select the report for the Filtered Region
  4. Choose meaningful facets of the data and then decide on the following:
    • An appropriate facet type. Facet type options
    • Source for the list of values from a choice of: List of values source types
    • Database column and data type that the facet represents: Specify the database column and data type
    • Optionally, customise how the facet is displayed: Customisation options

There's so much more to explore. Show this off to your fellow colleagues and be the office super hero!

Please bear in mind though, the information contained in this blog post is based on the early adopters' version and we can safely assume that the functionality will evolve based on participants' feedback.