Good way to search content within a course?

Jump to solution
mlattke
Instructure
Instructure

Does anyone have a good way to setup a search feature within a course?  I know that the Files tab has a search feature, but I'm looking more for content pages than files.  Here is the scenario.  We have a curriculum course with hundreds of pages of resources organized by grade level and subject.  A teacher can click through a series of buttons to browse to their desired resource, but the curriculum department wants teaches to be able to search for say "Poetry" and find all the pages on poetry.  I know this is not a built in feature, and I know I can submit a feature request, but I'm looking for an external tool or some other work around/clever idea that would let me do this in the short term.

Ideas I have thought of:

-Create an index page that lists all pages in a table of contents and use the browser search command on that page to locate a page. (downside -- hard to keep up as pages are added over time).

-Make sure pages are named with a clear naming convention and open the pages tab and use the browser search command on that page to locate a page. (downside -- when many pages are present, not all appear until you scroll, so you would not be able to search the ones that do not yet appear on the page using the browser search).

I don't think either of these ideas are particularly good, so I'm hoping that someone out there has an amazing idea for how to do this!

Thanks in advance!

ANOTHER THOUGHT:  Is it possible to use Google Site Search somehow?  I googled this, but couldn't find an answer.  😉

I thought maybe there was some custom javascript that could be embedded that would let site search crawl the pages.....anyone? anyone?

Message was edited by: Michelle Lattke

5 Solutions
orwinr
Community Champion

I have successfully integrated Google Custom Search into my Technology training resources site by creating an html file that includes the GCS javascript with a note telling users all results will open in a new tab. Once you have created the html file upload it to your course files area and use a module item to create a link to the html file you just uploaded. When you click on the link in the module you have a nice custom search page embedded in your course. If you want to take it further use the redirect LTI tool to create a link in the left navigation menu. You can see our example at: iSchool Technology Training and find the search link in the left nav menu.

The code that is currently in my search.html file is:

<p style="color: grey;">All results will open in a new tab or window.</p>

<div>

<script>

  (function() {

    var cx = 'your search engine ID goes here';

    var gcse = document.createElement('script');

    gcse.type = 'text/javascript';

    gcse.async = true;

    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +

        '//cse.google.com/cse.js?cx=' + cx;

    var s = document.getElementsByTagName('script')[0];

    s.parentNode.insertBefore(gcse, s);

  })();

</script>

<gcse:search linkTarget="_parent"></gcse:search>

</div>

I hope you find this useful until we get search functionality in courses themselves. Just a note that only the pages and announcements areas appear to be searchable via GCS, or at least that is what I am finding, which totally makes sense. I also believe that your course has to be public for Google to crawl it, which also takes some time to occur on new pages. You can change the behavior of the custom search script through your GCS management console.

Randy

View solution in original post

orwinr
Community Champion

Hi  @kevinw ,

My experience with the Google search on public sites is that it can take 48 hours or more before anything gets indexed. It takes a long while. The other thing to test is to make sure that your html file really works.

If you are interested in a bit more of an enterprise class solution that searches within all course content, even in private courses, take a look at "Atomic Search" by a company called "Atomic Jolt". Their CEO is  @joel_duffin ‌. We have a sandbox course configured at the moment and have been quite impressed with the search results and the responsiveness of the dev team when we have run into issues. It is a bit pricey for our small organization at this point but worth a look if you want to use it across an organization. We did a survey of our students and faculty about search within Canvas sites and 91% of faculty and 96% of students said they would like to see search in all Canvas courses.

Good luck!

View solution in original post

ahayson
Instructure
Instructure

Hi  @mlattke ‌,

Have you had the opportunity to check out Atomic Search? They have an lti‌ with Canvas, it might be worth a look!

- Am

View solution in original post

orwinr
Community Champion

Hi  @rislis ,

We have been using Atomic Search for almost the last year and really like it. As a company they have been quite responsive to our needs and our faculty and students love being able to search individual courses as well as across all of their enrollments at the same time. 

View solution in original post

richkingsford
Community Member

You might try Atomic Search - a Canvas plugin that provides basic and advanced search capabilities. 

View solution in original post