Поиск курса: различия между версиями

Материал из База знаний Центра ПУСК МФТИ
м 1 версия импортирована
вставка виджета
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
Since Moodle 3.1 this functionality has been superseded by the core Global Search functionality: https://docs.moodle.org/405/en/Global_search
Начиная с версии Moodle 3.1, эта функциональность была заменена основной [[Global search|функцией глобального поиска]].


{{Work_in_progress}}
{{Work_in_progress}}
Строка 12: Строка 12:




== Introduction ==
== Введение ==


'''"Advance course search"''' is a plugin that makes course search more flexible, fast, case-insensitive and can sort results by relevance. The plugin
«Предварительный поиск по курсу» ― это плагин, который делает поиск по курсу более гибким, быстрым, без учета регистра и может сортировать результаты по релевантности. Плагин также поддерживает поиск по вложениям к курсу (файлам обзора курса и сводным файлам). Это дает более мощный способ поиска по курсам с помощью таких функций, как кэширование результатов, сортировка по различным аспектам, функция исправления орфографии (вы это имели в виду?), нечеткий поиск (альтернативная форма слов).
also have the capability to search into course attachments(course overview files and summary files). Its gives more powerful way of searching
into courses via features like results caching, Sorting with different aspects, spelling correction(Did you mean?) feature, fuzzy search
(alternate form of words).


== Installation ==
== Установка ==




{{MediaPlayer | url = http://www.youtube.com/watch?feature=player_embedded&v=oe2KgGznnBg}}
{{#widget:Advance-Course-Search-moodle |arg.foo=bar|arg.bar=oni}}
=== Условия работы ===


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


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


Java 5 or higher (a.k.a. 1.5.x), PHP 5.1.4 or higher, moodle 2.5 or higher.
# Загрузите инструмент администрирования отсюда (https://moodle.org/plugins/view.php?plugin=tool_coursesearch)
# Извлеките папку Course Search. Поместите ее в папку moodle installation/admin/tool directory.
# Она должна называться course search. Если вы уже вошли в систему, просто обновите браузер, и ваш Moodle запустит установку «Проверки плагинов».  
# Если нет, то перейдите в раздел Администрирование > Уведомления.


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


1. Download the admin tool from here. (https://moodle.org/plugins/view.php?plugin=tool_coursesearch)


2. Extract the Course Search folder. Put it under moodle installation/admin/tool directory.
Вот два варианта: либо вы можете заменить / скопировать существующий рендерер вашей темы на тот, который находится в search_cleantheme (https://github.com/shashirepo/moodle-theme_cleantheme) ИЛИ вы можете установить саму тему Clean.


3. It should be named coursesearch. If you are already logged in just refreshing the browser should trigger your moodle
Замена /копирование файла renderer в вашу тему.
site to begin the install 'Plugins Check'.


4. If not then navigate to Administration > Notifications.
# Скопируйте renderer.php файл из search_clean и замените его файлом рендерера вашей темы.
# В стандартной теме moodle нет файла рендерера, поэтому вы можете просто скопировать его в каталог вашей темы.
# Переименуйте класс рендерера в соответствии с названием вашей темы, например, если вы используете тему Clean. Затем переименуйте имена классов в "theme_clean_core_renderer" и "theme_clean_core_course_renderer".


=== Installing search_cleantheme OR replacing/copying the renderer.php file ===
ИЛИ вы можете использовать тему search_clean. Это основано на теме bootstrap clean.


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


Here is two options either you may replace/copy your existing theme renderer with the one found in
=== Installing Solr & placing the plugin Schema ===
search_cleantheme(https://github.com/shashirepo/moodle-theme_cleantheme).
OR you may install cleantheme itself.
 
replacing /copying the renderer file to your theme.
 
1. Copy renderer.php file from search_cleantheme replace it with your theme's renderer file.
 
2. Standard moodle theme doesn't have any renderer file so you may simply copy this to your
theme directory.
 
3. Rename renderer class name according to your theme name.
 
for example if you are using theme 'clean'.
then rename the class names to 'theme_clean_core_renderer' & 'theme_clean_core_course_renderer'.
 
OR you may either use search_cleantheme. This is based on bootstrap clean theme.
 
1. Download the cleantheme from here (https://github.com/shashirepo/moodle-theme_cleantheme)
 
2. Extract the theme folder. and put it under moodle installation theme directory.
 
3. If you are already logged in just refreshing the browser should trigger your Moodle
site to begin the install 'Plugins Check'.
 
4. If not then navigate to Administration > Notifications.


=== Installing Solr & placing the plugin Schema ===




Строка 110: Строка 90:
Test that your solr server is now available by visiting
Test that your solr server is now available by visiting
http://localhost:8983/solr/admin/
http://localhost:8983/solr/admin/
=== Testing with ping to solr ===
=== Testing with ping to solr ===


Строка 136: Строка 114:


== Features ==
== Features ==
* works consistently on different DB engines and different content languages( Non latin languages support)
* works consistently on different DB engines and different content languages( Non latin languages support)


* Search results with relevance( Score )
* Search results with relevance( Score )


* Case insensitive search capability
* Case insensitive search capability


 
* Searchable Document Formats<br />
* Searchable Document Formats
 
 
   * Hyper Text Markup Language
   * Hyper Text Markup Language
   * XML and derived formats
   * XML and derived formats
Строка 158: Строка 129:
   * Compression and packaging formats [See Rebuilding Solr Cell]
   * Compression and packaging formats [See Rebuilding Solr Cell]
   * Text formats
   * Text formats
* Autocomplete ( autosuggest with non-latin languages too )
* Autocomplete ( autosuggest with non-latin languages too )


* Very fast than existing course search implementation.  
* Very fast than existing course search implementation.  


* Spell Checking capability ( Did you mean ?)
* Spell Checking capability ( Did you mean ?)


 
* Keyword Matching (Searching within specific field)<br />
* Keyword Matching (Searching within specific field)
 
 
     Example :- "summary:Getting started with python" searches for the "Getting started with python" in summary field of courses.
     Example :- "summary:Getting started with python" searches for the "Getting started with python" in summary field of courses.
* Proximity Search
* Proximity Search


     Example :- "moodle perth"~4 Search for "moodle perth" within 4 words from each other.
     Example :- "moodle perth"~4 Search for "moodle perth" within 4 words from each other.
* Wildcard Search
* Wildcard Search


* Fuzzy search support ( Alternate form of words )
* Fuzzy search support ( Alternate form of words )


* Filtering results by startdate (Range queries)
* Filtering results by startdate (Range queries)


* Pagination & sorting results by relevance, startdate, shortname.
* Pagination & sorting results by relevance, startdate, shortname.
Строка 200: Строка 157:


Please, use Tracker [https://tracker.moodle.org/browse/CONTRIB-4335]
Please, use Tracker [https://tracker.moodle.org/browse/CONTRIB-4335]
== Credits ==
== Credits ==


* '''Mentors:''' [https://moodle.org/user/profile.php?id=1334243&course=5 Marina Glancy] & [https://moodle.org/user/profile.php?id=381842  Michael de Raadt]
* '''Mentors:''' [https://moodle.org/user/profile.php?id=1334243&course=5 Marina Glancy] & [https://moodle.org/user/profile.php?id=381842  Michael de Raadt]<br />
 
 
== See also ==
== See also ==



Текущая версия от 09:17, 8 апреля 2025

Начиная с версии 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