Find the course. Understand the match.
Learners may know what they want to learn without knowing which course covers it. SDEV built Smart Search for 123Sonography to connect that intent with course and lecture content, helping learners explore relevant options with reasons for each recommendation.
The knowledge is there.The right course is harder to find.
A course title cannot describe every technique covered inside its lectures. Learners may know what they want to learn and still miss the relevant course because their terminology differs from the catalogue.
The same search can mean something different to a cardiologist and an emergency physician. SDEV’s task was to connect those learning goals with the teaching material, audience context and real courses already held in Drupal.
Semantic discovery. Platform control.
SDEV built a custom Drupal search that looks beyond course titles into lecture content. Relevant lecture matches lead back to their courses, helping learners discover teaching material through the topics and techniques they have in mind.
Drupal checks eligible courses and ranks recommendations using search, campaign and learner context. AI can explain the results, while editors maintain the search journey and its copy.
One search.Several useful ways forward.
Start with a learning goal
A learner enters a topic, technique or skill. Suggested searches and campaign context can provide a relevant starting point.
Discover relevant courses
Search retrieves course and lecture material. Drupal brings eligible courses together and ranks them, with reasons and an optional AI explanation.
Refine the recommendations
Duration and CME filters help learners narrow results. When search finds no match, structured questions about role, interests and experience offer another route.
Keep a useful starting point
Learners can revise their choices or return to the original query. If no suitable course is found, an editor-configured newsletter follow-up offers a way to stay connected.
AI retrieves and explains. Drupal decides.
Catalogue preparation
Relevant teaching material often sits inside a lecture rather than in a course title. SDEV indexes both course records and processed lectures, using Search API, Drupal AI Search, OpenAI embeddings and separate Pinecone collections.
Search & recommendation
Drupal connects lecture matches to their courses, checks publication and access, and ranks eligible results. Campaign and learner context help refine the selection before an explanation is generated.
OpenAI can explain the ranked recommendations. Drupal reason labels and editor-written templates also support the journey when generative explanations are disabled or unavailable.
Course content · Audience · Interests
Duration · CME · Experience
Processed lecture text · Context
Parent-course relationships
Chunking + metadata
OpenAI creates embeddings from the course and lecture text.
OpenAI query embedding
Search both Pinecone indexes
UTM term · Category restrictions
Audience · Interests · Experience
Validate & rank
Lecture hits → parent courses · Deduplicate
Combine semantic and learner-fit signals
- Active & public
- Visitor access
- Campaign category
Editor-written templates when AI text is disabled or unavailable
No match: guided role, interests & experience first
Service failure: report an error
Retain the original query · Configured newsletter follow-up
A live feature.Room to keep learning.
The catalogue and its audiences change over time. Editors can adapt campaign targeting, suggested searches, interface copy and follow-up routes in Drupal without moving the search journey into a separate application.
Matomo records semantic, guided and filter searches with campaign context, giving the team a basis for reviewing discovery and refining the experience.
- Foundation
Connect courses and lecture knowledge
Build semantic discovery around the existing Drupal catalogue and processed educational content.
Smart Search launches
Course discovery brings together semantic retrieval, campaign-aware ranking, explanations and controlled follow-up routes.
- TodayWe are here
A live, editor-controlled search journey
Campaigns, catalogue relationships and search settings remain owned by Drupal, with distinct routes recorded for review.
- Possible next steps
Refine the discovery experience
Potential work includes clearer learning-goal prompts, richer recommendation context and further refinement of the guided journey. These are directions for discussion, rather than announced releases.
The detailsthat matter.
SDEV & delivery
What did SDEV build?
SDEV developed a custom Drupal search feature combining semantic retrieval, course ranking, campaign configuration, recommendation explanations and guided follow-up routes.
How is this different from SonoAssistant?
Smart Search helps learners discover courses. SonoAssistant answers educational questions with supporting knowledge and media. They are separate projects within 123Sonography’s Drupal platform.
Can SDEV apply this approach to another catalogue?
The approach can be adapted to other structured catalogues. The work starts with the content, access rules, audiences and discovery journeys that the platform needs to support.
Drupal & AI technology
What do OpenAI and Pinecone do?
OpenAI creates embeddings for catalogue content and queries. Pinecone searches the course and lecture vectors. OpenAI can also write an explanation after Drupal has ranked the results.
Can a lecture surface its parent course?
Yes. Lecture content has its own search index. Drupal follows the lecture record’s course relationship and consolidates the recommendation with any direct course match.
Who decides which courses appear?
Drupal checks whether courses are active, public and viewable, applies configured restrictions, consolidates duplicates and ranks the eligible results. The generative explanation layer receives that existing result set.
Campaigns & editorial control
How do Google Ads campaigns connect?
An advertising link passes a UTM term in the URL. Drupal uses it to select an active Campaign entity or a default. The hand-off does not require a direct Google Ads API integration.
What can editors change?
Campaign targeting, audience context, suggested searches, introductions, loading copy, explanation guidance, summary templates and newsletter follow-up are maintained through Drupal content and settings.
How are search journeys measured?
Matomo records semantic, guided and filter-based searches separately, with the selected campaign context attached. Tracking does not need to be available for search to work.
Operation & development
What happens when AI does not return a useful match?
A legitimate no-match moves to structured role, interest and experience questions, then practical filters and configured newsletter follow-up. A search-service failure is reported separately as an error.
What does the match percentage mean?
It expresses relative relevance within the current result set. It is not a probability, medical confidence score or a measure of how much of a course matches the query.
What could come next?
Potential improvements include more useful learning-goal prompts, richer recommendation context and further refinement of guided discovery. Future scope would be agreed against catalogue needs and observed search behaviour.
Make complex content easier to discover.
Bring us the catalogue, content and user journeys that your search needs to understand.
Start a project



