So verwenden Sie Meilisearch mit WikiJS
TLDR
Soße: https://github.com/mbround18/wikijs-module-meilisearch
Die Software
Was ist Meilisearch?
Meilisearch ist eine Open-Source-Suchmaschine, die auf Geschwindigkeit und Einfachheit ausgelegt ist. Es ist in Rust geschrieben und darauf ausgelegt, schnelle, relevante Suchergebnisse mit minimaler Konfiguration zu liefern. Meilisearch zeichnet sich durch Volltextsuche aus und ist selbst bei großen Datensätzen auf Leistung optimiert. Es unterstützt Funktionen wie Tippfehlertoleranz und anpassbares Relevanzranking direkt nach dem Auspacken.
Link zu Meilisearch
Was ist WikiJS?
Wiki.js ist eine moderne Open-Source-Wiki-Software, die eine leistungsstarke und flexible Plattform zum Verwalten und Teilen von Inhalten bietet. Es basiert auf Node.js und ist so konzipiert, dass es leichtgewichtig, schnell und benutzerfreundlich ist, mit einer eleganten und intuitiven Benutzeroberfläche, die es für Benutzer aller Erfahrungsstufen zugänglich macht.
Link zu Wikijs
Wie man beides integriert
Voraussetzungen
- Instanz von Meilisearch wird ausgeführt
- Laufende Instanz von Wikijs
Wenn Sie diese nicht haben, können Sie dieses Docker Compose verwenden.
Mit dem Docker Compose
- Laden Sie den Docker Compose in ein Verzeichnis herunter.
- Erstellen Sie einen Ordner namens pkg
- Erstellen Sie einen Ordner mit dem Namen tmp
- Erstellen Sie einen Ordner mit dem Namen config.
- Laden Sie im Konfigurationsordner für diese Demo diese Konfiguration herunter
- Führen Sie Docker Compose aus, damit es die Dateien nach Bedarf generiert.
Installation des Moduls
- Navigieren Sie auf github.com/mbround18/wikijs-module-meilisearch zu dem Modul, das sie integriert
- Navigieren Sie zur Registerkarte „Releases“
- Laden Sie bei der neuesten Version die Datei Meilisearch.zip herunter.
- Extrahieren Sie die ZIP-Datei nach /wiki/server/modules/search/meilisearch auf Ihrem Wikijs-Server. Wenn Sie Compose verwenden, laden Sie Docker Compose herunter und extrahieren Sie die ZIP-Datei in Ihren ./pkg-Ordner.
- Starten Sie Ihren Wikijs-Server neu.
Einrichten des Moduls.
Für eine Produktionsinstanz wird empfohlen, meilisearch einen neuen Schlüssel generieren zu lassen, den Ihre App verwenden kann. Sie können dies über diesen Curl-Befehl tun:
curl --request POST \ --url http://localhost:7700/keys \ --header 'Authorization: Bearer demo' \ --header 'Content-Type: application/json' \ --data '{ "description": "Wikijs Integration", "actions": ["*"], "indexes": ["wiki_index"], "expiresAt": "2042-04-02T00:42:42Z" }'Ändern Sie das Wort Demo in Ihren Hauptschlüssel. Wenn Sie Docker Compose verwenden, funktioniert dies nur mit der Demo. Es sei denn, Sie haben es in der Compose-Datei geändert. Verwenden Sie dann das, was Sie für $MEILI_MASTER_KEY festgelegt haben.
- Melden Sie sich bei Ihrer Wikijs-Instanz an. Zum Verfassen einer Demo müssen Sie möglicherweise den ersten Login erstellen. Denken Sie daran, die URL auf dem Ersteinrichtungsbildschirm auf http://localhost:3000 festzulegen.
- Navigieren Sie zum Admin-Dashboard.
- Klicken Sie auf „Suchmaschine“
- Meilisearch aktivieren
- Passen Sie den API-Schlüssel und den Host nach Bedarf an.
- Klicken Sie auf „Übernehmen“. Wenn Sie keine grüne Toastnachricht erhalten, klicken Sie einfach erneut auf „Übernehmen“. Dies kann passieren, weil die Aufgabe in Meilisearch beim Erstellen des Index blockiert.
Was ist nun die Einrichtung?
Jetzt können Sie Meilisearch verwenden, um Ihr Wiki zu durchsuchen! Wenn Sie über vorhandenen Inhalt verfügen, können Sie auf „Neu erstellen“ klicken. Dadurch sollten alle Ihre Inhalte zu meilisearch hinzugefügt werden! :)
Da Sie Wikijs normalerweise verwenden, werden im Rahmen der normalen Seitendarstellung Dokumente in Meilisearch erstellt, aktualisiert und gelöscht.
Wenn Sie ein Live-Beispiel davon sehen möchten, haben wir es in meinem Dungeons and Dragons-Wiki bereits integriert. Es war erstaunlich, Charakterdaten oder Szenendaten im Handumdrehen abrufen zu können.
Hinweis zur Umsetzung, derzeit stimmen die Vorschläge mit den Who-Zeilen überein. In Zukunft werde ich dieses Segment umschreiben, um es zu kürzen und kleinere Vorschläge zu haben.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Meilisearch mit WikiJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Umfang von JavaScript bestimmt den Zugangsumfang von Variablen, die in globale, Funktions- und Blockebene unterteilt sind. Der Kontext bestimmt die Richtung davon und hängt von der Funktionsaufrufmethode ab. 1. Scopes umfassen globaler Umfang (überall zugänglich), Funktionsumfang (nur innerhalb der Funktion gültig) und Blockebene (LET und const sind innerhalb von {} gültig). 2. Der Ausführungskontext enthält das variable Objekt, die Bereichskette und die Werte davon. Dies weist auf globale oder undefinierte in der normalen Funktion hin, die Methode richtet sich auf das Anrufobjekt, der Konstruktor auf das neue Objekt und kann auch explizit durch Anruf/Anwendung/Bindung angegeben werden. 3.. Verschluss bezieht sich auf Funktionen, die auf externe Bereiche zugreifen und sich erinnern. Sie werden häufig zur Kapselung und zum Cache verwendet, können aber verursachen

Die Kompositionapi in VUE3 eignet sich besser für komplexe Logik- und Typableitung, und Optionsapi eignet sich für einfache Szenarien und Anfänger. 1. Optionsapi organisiert Code nach Optionen wie Daten und Methoden und hat eine klare Struktur, aber komplexe Komponenten werden fragmentiert. 2. Die Zusammensetzung verwendet ein Setup, um die verwandte Logik zu konzentrieren, die der Wartung und Wiederverwendung förderlich ist. 3. Compositionapi realisiert konfliktfreie und parameterizierbare logische Wiederverwendung durch komponierbare Funktionen, was besser ist als Mixin; 4. COMPOSECTI hat eine bessere Unterstützung für Typscript und eine genauere Typableitung; 5. Es gibt keinen signifikanten Unterschied in der Leistung und des Verpackungsvolumens der beiden; 6.

Es gibt einen wesentlichen Unterschied zwischen den Webworkers und Javatheads von JavaScript in der gleichzeitigen Verarbeitung. 1. JavaScript nimmt ein Single-Thread-Modell an. Webworker ist ein unabhängiger Thread, der vom Browser bereitgestellt wird. Es ist geeignet, zeitaufwändige Aufgaben auszuführen, die die Benutzeroberfläche nicht blockieren, aber das DOM nicht bedienen können. 2. Java unterstützt echtes Multithreading von der Sprachebene, die über die Thread-Klasse erstellt wurde und für eine komplexe gleichzeitige Logik und die serverseitige Verarbeitung geeignet ist. 3.. Webworker verwenden Postmessage (), um mit dem Hauptfaden zu kommunizieren, der sehr sicher und isoliert ist. Java -Threads können Speicher teilen, sodass Synchronisierungsprobleme aufmerksam werden müssen. V.

Initialisieren Sie das Projekt und erstellen Sie Package.json; 2. Erstellen Sie einen Eintragskriptindex.js mit Shebang; 3.. Registrieren Sie Befehle über Bin Fields in package.json; 4. Verwenden Sie Yargs und andere Bibliotheken, um die Befehlszeilenparameter zu analysieren. 5. Verwenden Sie NPMLink Local Test; 6. Hilfe, Version und Optionen hinzufügen, um die Erfahrung zu verbessern. 7. optional über NPMPublish veröffentlichen; 8. optional automatischen Abschluss mit Yargs; Erstellen Sie schließlich praktische CLI -Tools durch angemessene Struktur und Benutzererfahrungsdesign, erstellen Sie Automatisierungsaufgaben oder verteilen Sie Widgets und enden Sie sie mit vollständigen Sätzen.

Verwenden Sie document.createelement (), um neue Elemente zu erstellen; 2. Anpassen von Elementen durch TextContent, Classlist, SetAttribute und andere Methoden; 3.. Verwenden Sie appendChild () oder flexibler append () -Methoden, um dem DOM Elemente hinzuzufügen. V. Der vollständige Vorgang besteht darin, → Anpassen → Add zu erstellen, und Sie können den Seiteninhalt dynamisch aktualisieren.

Die erweiterten Bedingungstypen von TypeScript implementieren logische Beurteilung zwischen den Typen über textendu? X: y syntax. Die Kernfähigkeiten spiegeln sich in den verteilten Bedingungstypen, den Abschluss -Inferenz und der Konstruktion komplexer Typ -Werkzeuge wider. 1. Der bedingte Typ ist in den Parametern mit nötigen Typen verteilt und kann den Gelenktyp automatisch aufteilen, z. 2.. Verwenden Sie die Verteilung, um Filter- und Extraktionsinstrumente zu erstellen: Ausschließen Typen über Textendsu? Nie: t, extrahieren Gemeinsamkeiten durch textendu? 3

MicrofrontendsolvescalingchalenGesinlargeamsByenablingIndependentDevelopment und Deployment.1) ChooseanintegrationStrategy: Usemodulefederationsinwebpack5forruntImeloadingandtrueIndependenz, Bauzeitintegrationslimplations-, Orifrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/Webrahmen/webkConponents

VariFrention-Scoped, Canberase signiert, mitgeheizt, und erreicht, und antachedtotheglobalWindowObject; 2. LetandConstareblock-scoped, withletAllowingReassignmentandConstnotallowingit, aberConstobjectscanhavemuthingProperties;
