Nel precedente articolo, abbiamo visto come installare Wiki.js in Openshift.
Di default, Wiki.js attiva il motore di ricerca basic, in grado di effettuare ricerche solo nei titoli dei documenti. Sono però disponibili moduli aggiuntivi, per avere funzionalità di ricerca full-text.
Alcuni di questi moduli si basano su servizi cloud (spesso a pagamento); in questo articolo vi spiegherò come utilizzare il modulo Elasticsearch, eseguendo una istanza single node di Elastic nello stesso namespace nel quale abbiamo installato Wiki.js.
1. Elastic
Utilizziamo una docker image di Elasticsearch certificata Redhat.
Wiki.js supporta le versioni 6.x e 7.x di Elastic, mentre nel momento in cui scrivo il tag latest dell’immagine punta alla versione 8.2.
E’ quindi necessario indicare il tag esatto:
oc new-app --docker-image=registry.connect.redhat.com/elastic/elasticsearch:7.17.2
Per poter avviare l’immagine in modalità single-node, va specificata una variabile di ambiente:
oc set env deploy elasticsearch discovery.type=single-node
Dopo l’esecuzione di questi due comandi, il POD di Elasticsearch dovrebbe essere correttamente in esecuzione.
2. Wiki.js
La configurazione di Wiki.js è molto semplice: dal pannello di Amministrazione, selezionare Search Engines, quindi Elasticsearch:
Avendo installato Elastic nello stesso cluster Openshift, possiamo usare il suo service come URL:
Confermiamo con Apply, quindi clicchiamo Rebuild index per creare il primo indice su Elastic.
La ricerca full-text è ora disponibile per la nostra Wiki!