eSTEeM Project: Custom Course Search Engines

Preamble
If the desire for OU courses to make increased use of third party materials and open educational resources is realised, we are likely to see a shift in the pedagogy to one that is more resource based. This project seeks to explore the extent to which custom search engines tuned to particular courses may be used to support the discovery of appropriate resources published on the public web, and as indexed by Google, on any given course.

Many courses now include links to third party resources that have been published on the public web. Discovering appropriate resources in terms of relevance and quality can be a time consuming affair. The Google Custom Search Engine service allows users to define custom search engines (CSEs) that search over a limited set of domains or web pages, rather than the whole web.

(Topic based links can be discovered in a wide variety of places. For example, it is possible to create custom search engines based around the homepages of people added to a Twitter list, or the nominated blogs in annual award listings.)

The ranking of particular resources may also be boosted in the definition of the CSE via a custom ranking configuration. For example, open educational resources published in support of the course may be boosted in the search result rankings.

Alternatively, CSEs may be used to exclude results from particular domains, or return resources from the whole web with the ranking of results from specified pages or domains boosted as required. By opening up results to the whole of the web, if recent, relevant resources from an unspecified domain are identified in response to a particular search query, they stand a chance of being presented to the user in the results listing.

Synonyms for common terms may also be explicitly declared and refinement labels used to offer facet based search limits. This might be used to limit results to resources identified as particularly relevant for a particular unit, or block within a course, for example, or to particular topic areas spread across a course.

“Promoted” results may also be used to emphasise particular results in response to particular queries. A good example here might be to display promoted results relating to resources explicitly referenced in an exercise, assignment or activity.

If any of the indexed pages are marked up with structured data, it may be possible to expose this data using an rich snippet/enhanced search listing. Whilst there are few examples to date, enhanced listings that display document types or media types might be appropriate.

Examples of Google CSEs in action can be found here:

Digital Worlds Cusotm Search Engine (created by hand; as used in T151).

faceted “HE CSE” metasearch engine over UK Higher Education Library websites, UK Parliamentary pages, OERs, video protocols for science experiments. This example demonstrates how the search engine may be embedded in a web page.

The Project
The project proposes the automated generation of custom search engines on a per course basis based on the resources linked to from any given course.

The deliverables will be:

1) an automated way of generating Google CSE definition files through link scraping of Structured Authoring/XML versions of online course materials. If necessary, additional scraping of non-SA, VLE published resources may be required.

2) a resource template page and/or widget in the VLE providing access to the customised course search engine

Success will be based on the extent to which:

1) students on pilot courses use the search engine;
2) a survey of students on courses using the search engine about how useful they found it

Search engine metrics will also form part of the reporting chain. If appropriate, we will also explore the extent to which search engine analytics can be used to enhance the performance of the search engine (for example, by tuning custom ranking configurations), as well offering “recent searches” information to students.

The placement of the search box for the CSE will be an important factor and any evaluation should take this into account, e.g. through A/B testing on course web pages.

Another variable relating to the extent to which a CSE is used by students is whether the CSE performs a whole web search with declared resources prioritised, or whether it just searches over declared resources. Again, an A/B test may be appropriate.

For activities that include a resource discovery component, it would be interesting to explore what effect embedding the search engine with the activity description page might have?

If course team members on any OU courses presenting over the next 9 months are interested in trying out a course based custom search engine, please get in touch. If academics on courses outside the OU would like to discuss the creation and use of course search engines for use on their own courses, I’d love to hear from you too:-)

eSTEeM is joint initiative between the Open University’s Faculty of Science and Faculty of Maths, Computing and Technology to develop new approaches to teaching and learning both within existing and new programmes.

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

4 thoughts on “eSTEeM Project: Custom Course Search Engines”

  1. I doubt either of these are news, but in case:

    http://www.google.com/cse/tools/create_onthefly

    http://www.google.com/cse/docs/tools.html

    Personally, something I would love to see in conjunction with a CSE is a front end that captures all the query terms and builds an anonymized search term cloud of all the terms being searched for through that CSE; given that CSE are often used for a specific population, this seems to me a simple way to create collective awareness across a group of what they are looking for/thinking about. A long time ago a service named Gnosh (http://www.gnosh.org/) tried to do this, but then folded (the url is still there).

    1. If you put the CSE search/results page in an iframe and add Google Analytics tracking code, then I think you can track searches via the Googalytics? (Note to self – try this and check settings to capture most search information… “Site Search” will have to be enabled on the analytics profile config, with query term q [ http://www.google.com/support/analytics/bin/answer.py?answer=75817 ])

      You can also get a “popular terms” feed from the CSE itself – http://googlecustomsearch.blogspot.com/2007/03/show-popular-queries-on-your-site.html (the code snippet/feed URL for popular queries is only displayed if there are “popular queries”, which for low volume CSE may only apply (if at all) to the Overall report.

      For reference, for a CSE with the URL identifier:
      cx=USERID:CSEID
      the popular query feed URL has the form:
      http://www.google.com/cse/api/USERID/cse/CSEID/queries

      and the code snippet has the form:
      <div id=”queries”></div>
      <script src=”http://www.google.com/cse/query_renderer.js”></script>
      <script src=”http://www.google.com/cse/api/USERID/cse/CSEID/queries/js?callback=(new+PopularQueryRenderer(document.getElementById(%22queries%22))).render”></script>

      PS I just twigged onto this independently of reading http://analytics.blogspot.com/2009/04/using-site-search-features-in-creative.html : you can use Site Search to track ?foo=bar arguments that appear in the URL…

Comments are closed.