Поиск курса

Материал из База знаний Центра ПУСК МФТИ
(перенаправлено с «Course search»)

Начиная с версии Moodle 3.1, эта функциональность была заменена основной функцией глобального поиска.

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.



Введение

«Предварительный поиск по курсу» ― это плагин, который делает поиск по курсу более гибким, быстрым, без учета регистра и может сортировать результаты по релевантности. Плагин также поддерживает поиск по вложениям к курсу (файлам обзора курса и сводным файлам). Это дает более мощный способ поиска по курсам с помощью таких функций, как кэширование результатов, сортировка по различным аспектам, функция исправления орфографии (вы это имели в виду?), нечеткий поиск (альтернативная форма слов).

Установка

Условия работы

Java 5 или выше (также известная как 1.5.x), PHP 5.1.4 или выше, moodle 2.5 или выше.

Установка инструмента администрирования

  1. Загрузите инструмент администрирования отсюда (https://moodle.org/plugins/view.php?plugin=tool_coursesearch)
  2. Извлеките папку Course Search. Поместите ее в папку moodle installation/admin/tool directory.
  3. Она должна называться course search. Если вы уже вошли в систему, просто обновите браузер, и ваш Moodle запустит установку «Проверки плагинов».
  4. Если нет, то перейдите в раздел Администрирование > Уведомления.

Установка search_cleantheme ИЛИ замена/копирование renderer.php file

Вот два варианта: либо вы можете заменить / скопировать существующий рендерер вашей темы на тот, который находится в search_cleantheme (https://github.com/shashirepo/moodle-theme_cleantheme) ИЛИ вы можете установить саму тему Clean.

Замена /копирование файла renderer в вашу тему.

  1. Скопируйте renderer.php файл из search_clean и замените его файлом рендерера вашей темы.
  2. В стандартной теме moodle нет файла рендерера, поэтому вы можете просто скопировать его в каталог вашей темы.
  3. Переименуйте класс рендерера в соответствии с названием вашей темы, например, если вы используете тему Clean. Затем переименуйте имена классов в "theme_clean_core_renderer" и "theme_clean_core_course_renderer".

ИЛИ вы можете использовать тему search_clean. Это основано на теме bootstrap clean.

  1. Загрузите тему cleantheme отсюда (https://github.com/shashirepo/moodle-theme_cleantheme)
  2. Извлеките папку с темой. и поместите ее в папку с темой для установки moodle.
  3. Если вы уже вошли в систему, просто обновите браузер, и ваш сайт Moodle запустит установку «Проверки плагинов».
  4. Если нет, перейдите в Администрирование > Уведомления.

Installing Solr & placing the plugin Schema

Download the latest Solr 4.4.0 release from: http://lucene.apache.org/solr/

Unpack the tarball somewhere not visible to the web (not in your apache docroot and not inside of your moodle directory).

The Solr download comes with an example application that you can use for testing, development, and even for smaller production sites. This application is found at apache-solr-4.4.0/example.

Move apache-solr-4.4.0/example/solr/collection1/conf/schema.xml and rename it to something like schema.bak. Then move the schema.xml that comes with moodle course search admin tool plugin to take its place.

Similarly, move apache-solr-4.4.0/example/solr/collection1/conf/solrconfig.xml and rename it like solrconfig.bak. Then move the solrconfig.xml that comes with the moodle course search admin tool plugin to take its place.

Finally, move apache-solr-4.4.0/example/solr/collection1/conf/protwords.txt and rename it like protwords.bak. Then move the protwords.txt that comes with the moodle course search admin tool plugin to take its place.

Make sure that the conf directory includes the following files - the Solr core may not load if you don't have at least an empty file present: solrconfig.xml schema.xml elevate.xml mapping-ISOLatin1Accent.txt protwords.txt stopwords.txt synonyms.txt

Now start the solr application by opening a shell, changing directory to apache-solr-4.4.0/example, and executing the command java -jar start.jar

Test that your solr server is now available by visiting http://localhost:8983/solr/admin/

Testing with ping to solr

1. Advance Course can be found under :-

Administration->course->Course search settings(URL:- http://127.0.0.1/MoodleInstalltionURL/admin/tool/coursesearch)

2. Give the solr configuration options here:-

Solr Host:- localhost or 127.0.0.1 Solr Port:- 8983 (Default port for Solr ) Solr path :- /solr (Configuration directory for solr)

3. Click on "Check Solr instance Setting". if it Shows ping successful(with an success image). Now click save changes.

4. Now click on "Index courses" to index all the courses. After successful indexing. It will come up with a success image.

5. Click on "Optimize" to optimize the existing indexes And improve solr performance.


Enjoy the Search by going on page (http://127.0.0.1/MoodleInstallationURL/course/search.php)

To configure navigation with the course search page goto Site administration -> Front page -> Front page settings.

Features

  • works consistently on different DB engines and different content languages( Non latin languages support)
  • Search results with relevance( Score )
  • Case insensitive search capability
  • Searchable Document Formats
 * Hyper Text Markup Language
 * XML and derived formats
 * Microsoft Office document formats
 * Open Document Format
 * Portable Document Format 
 * Rich Text Format
 * Compression and packaging formats [See Rebuilding Solr Cell]
 * Text formats
  • Autocomplete ( autosuggest with non-latin languages too )
  • Very fast than existing course search implementation.
  • Spell Checking capability ( Did you mean ?)
  • Keyword Matching (Searching within specific field)
   Example :- "summary:Getting started with python" searches for the "Getting started with python" in summary field of courses.
  • Proximity Search
   Example :- "moodle perth"~4 Search for "moodle perth" within 4 words from each other.
  • Wildcard Search
  • Fuzzy search support ( Alternate form of words )
  • Filtering results by startdate (Range queries)
  • Pagination & sorting results by relevance, startdate, shortname.

How it works ?

  • Flow diagram

How to report a bug

Please, use Tracker [1]

Credits

See also