Skip to main content

Journey Overview

Knowledge Search supports providers in retrieving longer-form, evidence-based content aimed at building or updating clinical understanding. Knowledge Search surfaces current research, synthesized concepts, and educational materials not directly tied to step-by-step clinical decisions. It is particularly useful for staying up to date with emerging knowledge, informing clinical reasoning, and exploring topics beyond rigid care protocols.
If the above resonates with your use case, you are at the right place. Let’s dive into how you can deploy your very own article search experience using Clinia’s technology.

Getting Started

To get a broad understanding of the components within our data fabric, you can refer to our platform overview. To get started in this journey, you will need:
  1. A Clinia workspace
  2. A Clinia service account (API Key)
  3. Ability to execute HTTP requests
  4. Some data to ingest
We will go over a simple single collection use case for now. Make sure to refer to the documentation if you want to tailor the Data Fabric configuration to your exact use case. For the sake of this journey, we’ll leverage the following sample article data:

Workspace Configuration

To leverage semantic search and Clinia’s query understanding capabilities, you will need a collection with a vectorizer ingestion pipeline.

Create a Data Source

Documentation Currently, the only data source type available is a Registry. To create your {name} data source, run the following request:

Create your article Profile

Documentation Before ingesting your data, we need to define the schema of the properties representing your data model. Given our sample article, here is what the article profile should look like:
Source profiles definition uses the Clinia Data Types System and relies on composition to allow a truly flexible data modelling experience.

Ingestion Pipeline

Documentation Now into the fun stuff. To leverage semantic search capabilities, you will need to augment your raw data using our various processors. To properly support semantic search, we will need a Vectorizer processor to create semantic representations of the article passages. The Vectorizer takes as input symbol data types and returns vectors (arrays of float-value points) representing your data in the vector space. This vector space is built in such a way that semantically related ideas or sentences (e.g. “diabetes” and “hyperglycemia”) are closer together and dissimilar ideas (e.g. “banana” and “psychologist”) are farther apart. In the context of knowledge search, we will focus on processing the content and the abstract property to be meaningful and interpretable. Think of it this way: for which attributes is keyword search limiting? Here is an example of that might look like for article search:
You can add this pipeline to your collection with the following request:
Now that your ingestion pipeline and steps are set up, your data source is ready to receive data. Incoming records will be processed through the pipeline and their data augmented before being persisted in the system.

Ingesting data

Once everything is configured, you can create your records using our Standard or Bulk API. Using the Bulk API, here is what that can look like:
You can use the taskId from the response that the request above will give you to track the status of the bulk ingestion task request. Use this request to do so:
Once fully processed, the task will be marked as successful and the records available for search in your collection.

Searching your collection

Documentation Once the ingestion is complete, you are now ready to search your collection! You can use the Search API. Here is one example of a query that uses the knn operator for your semantic fields:
You can find details about the API response here. The API also comes with highlighting support, to tell you why a given result was relevant. Using highlighting, you will be able to tell which of the fields or passages within each article hit was most relevant. This is particularly useful for display purposes, but also to generate the best answer possible using our Summarization API.