Este plug -in permite que o Moodle use o Elasticsearch como mecanismo de pesquisa da pesquisa global do Moodle.
Os seguintes recursos são fornecidos por este plugin:
Atualmente, este plugin suporta Moodle:
| Versão de Moodle | Filial |
|---|---|
| Moodle 4.4 e acima | Moodle_404_stable |
| Moodle 4.2 a 4.3 | Moodle_402_Stable |
| Moodle 3.10 a 4.1 | Moodle_310_Stable |
| Moodle 3,5 a 3.9 | mestre |
Atualmente, este plug -in é testado para trabalhar contra as seguintes versões do Elasticsearch:
E a versão seguinte do OpenSearch:
Este plug -in foi testado para trabalhar nas seguintes plataformas de nuvem:
Para usar este plug -in primeiro, você precisará configurar um serviço de pesquisa elatics.
A seguir, é o mínimo para fazer o Elasticsearch funcionar em um ambiente do sistema operacional Debian/Ubuntu. Consulte o Elasticsearch Documestion para instruções em profundidade ou para obter detalhes sobre como instalar em outros sistemas operacionais.
Nota: As instruções abaixo devem ser usadas apenas para fins de teste e dev. Não faça isso em produção. Para uma configuração de produção, recomendamos o Elasticsearch como um cluster, o início da documentação pode ser encontrado aqui: https://www.elastic.co/guide/en/ellasticsearch/reference/current/setup.html
Elasticsearch requer Java como um pré -requisito, para instalar Java:
sudo apt-get install default-jre default-jdkDepois que o Java for instalado, os seguintes comandos instalarão e iniciarão o Elasticsearch.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.deb
sudo dpkg -i elasticsearch-6.6.1.deb
sudo update-rc.d elasticsearch defaults
sudo service elasticsearch startUm teste rápido pode ser realizado executando o seguinte na linha de comando.
curl -X GET 'http://localhost:9200'
A saída deve parecer algo como:
{
"name" : " 1QHLiux " ,
"cluster_name" : " elasticsearch " ,
"cluster_uuid" : " mLRqIsnVRrGdgg2OfHWNrg " ,
"version" : {
"number" : " 5.1.2 " ,
"build_hash" : " c8c4c16 " ,
"build_date" : " 2017-01-11T20:18:39.146Z " ,
"build_snapshot" : false ,
"lucene_version" : " 6.3.0 "
},
"tagline" : " You Know, for Search "
} Por padrão, o Elasticsearch Service está disponível em: http://localhost:9200
Você também pode executar o Elasticsearch com o Docker. O projeto publica um contêiner oficial para versão suportada com instruções.
Para usar este plug -in primeiro, você precisará configurar um serviço de pesquisa elatics.
Para usar o Microsoft Azure para fornecer um serviço de pesquisa de elastical para o Moodle:
Elasticsearch requer Java como um pré -requisito, para instalar Java:
sudo apt-get install default-jre default-jdk
Depois que o Java for instalado, os seguintes comandos instalarão e iniciarão o Elasticsearch.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.deb
sudo dpkg -i elasticsearch-5.5.0.deb
sudo update-rc.d elasticsearch defaults
sudo service elasticsearch start
Um teste rápido pode ser realizado executando o seguinte na linha de comando.
curl -X GET 'http://localhost:9200'
A saída deve parecer algo como:
{
"name" : "1QHLiux",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "mLRqIsnVRrGdgg2OfHWNrg",
"version" : {
"number" : "5.1.2",
"build_hash" : "c8c4c16",
"build_date" : "2017-01-11T20:18:39.146Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
Para usar este plug -in primeiro, você precisará configurar um serviço de pesquisa elatics.
Para usar o Amazon WebServices (AWS) para fornecer um serviço de pesquisa de elasticidade para o Moodle:
Para usar a nuvem elástica para fornecer um serviço de pesquisa de elasticidade para o Moodle:
Depois de configurar um serviço Elasticsearch, agora você pode instalar o plug -in do Moodle.
Essas etapas de configuração são as mesmas, independentemente de como você configurou o serviço Elasticsearch.
<moodledir>/search/engine/elasticsudo -u www-data php admin/cli/upgrade Nota: o usuário pode ser diferente do www-dados no seu sistema. Depois de configurar um serviço Elasticsearch, você pode configurar o plug -in do Moodle.
Essas etapas de configuração são as mesmas, independentemente de como você configurou o serviço Elasticsearch.
sudo -u www-data php search/cli/indexer.php --forceEste plug -in usa o Apache Tika para suporte de indexação de arquivos. Tika analisa arquivos, extrai o texto e retorne -o por meio de uma API REST.
Atualmente, este plugin é testado para trabalhar contra as seguintes versões do Tika:
A configuração de um serviço de teste Tika é direta. Na maioria dos casos, em um ambiente Linux, você pode simplesmente fazer o download do Java Jar e executar o serviço.
wget http://apache.mirror.amaze.com.au/tika/tika-server-1.16.jar
java -jar tika-server-1.16.jar
Isso começará a Tika no host. Por padrão, o serviço Tika está disponível em: http://localhost:9998
Depois que um serviço Tika estiver disponível, o Elasticsearch Plugin no Moodle precisa ser configurado para suporte de indexação de arquivos.
Supondo que você já tenha seguido as etapas básicas de instalação, para ativar o suporte de indexação de arquivos:
No site da Apache Tika:
O Apache Tika ™ Toolkit detecta e extrai metadados e texto de mais de mil tipos de arquivos diferentes (como PPT, XLS e PDF). Todos esses tipos de arquivos podem ser analisados através de uma única interface, tornando a Tika útil para indexação de mecanismos de pesquisa, análise de conteúdo, tradução e muito mais. Você pode encontrar o lançamento mais recente na página de download. Por favor, consulte a página de início para obter mais informações sobre como começar a usar o Tika.
É comum ver implementações do Elasticsearch usando um plug -in de indexação de arquivos do Elasticsearch, em vez de um serviço independente. Os plugins de pesquisa de pesquisa atuais são um invólucro em torno do Tika. (O mecanismo de pesquisa do Solr também usa Tika).
Usar o Tika como serviço independente tem as seguintes vantagens:
A extração de conteúdo dos dados binários é uma operação intensiva em recursos e consome muitos recursos. É altamente recomendável executar pipelines usando esse processador em um nó de ingestão dedicado.
Este plug -in pode usar o Amazon Web Services (AWS) [Serviço de Rekognition (https://aws.amazon.com/rekognition/) para identificar o conteúdo das imagens. O conteúdo identificado é então indexado pelo Elasticsearch e pode ser pesquisado no Moodle (Cool Huh?).
NOTA: Atualmente, a indexação de arquivos pela pesquisa global principal do Moodle está limitada apenas a indexação de arquivos de alguns lugares. O rastreador MDL-59459 foi aumentado para aumentar a cobertura dos arquivos indexados pela Pesquisa Global.
Atualmente, o melhor recurso a ser usado para testar a funcionalidade de pesquisa de imagem, então adicione uma imagem através do recurso de arquivo do curso Moodle.
Depois de configurar o Elasticsearch na AWS, o Moodle precisa ser configurado para reconhecimento de imagem.
Supondo que você já tenha seguido as etapas básicas de instalação e as etapas de indexação de arquivos, para ativar o reconhecimento da imagem:
NOTA: Você precisará de um conjunto de chaves da AWS para um usuário do AWS IAM com permissões completas de rekognition. Configurar isso está além do escopo deste readme. Para mais informações, consulte a documentação da AWS.
A Amazon Web Services (AWS) fornece o Elasticsearch como um serviço gerenciado. Isso facilita a provisão, o gerenciamento e o cluster Elasticsearch.
Uma das maneiras pelas quais você pode garantir o acesso aos seus dados no Elasticsearch ao usar a AWS é usar a assinatura da solicitação. A assinatura de solicitação permite que apenas solicitações assinadas válidas sejam aceitas pelo terminal Elasticsearch. Os pedidos não assinados não estão autorizados a acessar o terminal.
Depois de configurar o Elasticsearch na AWS, o Moodle precisa ser configurado para assinatura de solicitação.
Supondo que você já tenha seguido as etapas básicas de instalação, para ativar a assinatura da solicitação:
Este plug -in expõe dois serviços Web ativados pelo AJAX, para permitir que você integre a pesquisa global da Moodle com outros sistemas e serviços. Os dois serviços da web disponíveis são:
A configuração e a documentação desses serviços são conectadas a outros serviços da Web do Moodle Core.
Este plug-in configura um serviço externo pré-configurado chamado serviço de pesquisa quando o plug-in estiver instalado. Este serviço adiciona e permite os dois métodos de serviço da web fornecidos por este plug -in.
NOTA: Você precisará ter pesquisa global e este plug -in ativado e configurado corretamente antes de usar os serviços da Web fornecidos.
Para executar os testes de unidade PHP para este plug -in, você precisa configurar e configurar uma instância do Elasticsearch, como será como fornecer os detalhes da instância ao Moodle. Você precisa definir:
Para definir as variáveis necessárias no seu arquivo de configuração do Moodle, adicione o seguinte ao config.php :
define('TEST_SEARCH_ELASTIC_HOSTNAME', 'http://127.0.0.1');
define('TEST_SEARCH_ELASTIC_PORT', 9200);
define('TEST_SEARCH_ELASTIC_INDEX', 'moodle_test_2');
As variáveis de configuração de instância do ElasticSerach necessárias também podem ser fornecidas como variáveis de ambiente. Para fazer isso na linha de comando Linux:
export TEST_SEARCH_ELASTIC_HOSTNAME=http://127.0.0.1; export TEST_SEARCH_ELASTIC_PORT=9200; export TEST_SEARCH_ELASTIC_INDEX=moodle_test
Primeiro, inicialize o ambiente de teste, a partir do diretório inicial do código do Moodle: php admin/tool/phpunit/cli/init.php para executar apenas os testes dos plugins: vendor/bin/phpunit search_elastic_engine_testcase search/engine/elastic/tests/engine_test.php
Este plug -in foi desenvolvido pela Catalyst It Australia:
https://www.catalyst-au.net/

Questões e solicitações de puxar usando o Github são bem -vindas e incentivadas!
https://github.com/catalyst/moodle-search_elastic/issues
Se você quiser suporte comercial ou patrocinar melhorias adicionais neste plug -in, entre em contato conosco:
https://www.catalyst-au.net/contact-us