FROLICS ist eine Offline-Suchbibliothek mit Volltext für Frontend-Anwendungen.
FROLICS ist von Elasticsearch und Lucence inspiriert. Die zugrunde liegende Implementierung umfasst Textverarbeitungsalgorithmen und Datenstruktur wie Tokenisierung, Stamm und invertierter Index.
Wenn ein docs bereitgestellt wird, erstellt FROLICS eine entsprechende Indexdaten, die in wichtigen Volltext-Suchdiensten wie Elasticsearch und Google Search häufig verwendet wird.
Von nun an können Sie einen belastenden Installationsprozess weglassen, um eine Volltext-Suche durchzuführen, und noch besser benötigen Sie kein Backend mehr, um eine solche Funktion zu entwickeln.
FROLICS ist da, um zu helfen!
Bevor Sie Frolics installieren, stellen Sie bitte sicher, dass Ihre Knotenversion kompatibel ist. Der Knoten V12+ ist in Ordnung, aber der Knoten V16 wird empfohlen.
Der Knoten V17+ hatte jedoch ein Kompatibilitätsproblem, als ich REACTJS -FROLICS testete. Aber der Knoten V16 funktionierte gut.
Einmal fertig. Führen Sie npm install frolics im Terminal aus.
Vor dem Import sind eine Rohdaten erforderlich. Es sollte so aussehen:
const docs = [
{
id: 1,
body: 'this is a test full text'
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
Beachten Sie, dass eine eindeutige id und ein body erforderlich sind, da id jedes Dokument unterscheidet, und body ist, dass die Inhaltsdaten für die Analyse und Klassifizierung von Textdaten für die Suche benötigt werden.
Zusätzlich zu id und body wie erforderlichen Felder können Sie mehrere Funktionen für verschiedene Funktionen haben. Wenn Sie beispielsweise bei der Suche ein Vorschaubild wünschen, können Sie docs wie folgt ändern:
const docs = [
{
id: 1,
body: 'this is a test full text',
// imagesURL field is totally optional, you can have different name and data structure
imagesURL: 'https://yourImage.com/img1.png',
},
{
id: 2,
body: 'can you can a can as a canner who can can a can',
},
];
Nach der Definition docs sind wir alle festgelegt. Der nächste Schritt ist die Verwendung von FROLICS.
FROLICS unterstützt die ES6 -Syntax, daher können Sie wie folgt importieren:
import { createDTM, Stemmer } from 'frolics';
import { docs } from "../assets/document.js" // Don't forget the raw data
Jetzt können Sie createDTM wie folgt anrufen:
const DTM = createDTM(docs);
Das createDTM ist die Hauptfunktion, die docs übernimmt und ein invertiertes Index -Wörterbuch erstellt.
Sie können Ihre ursprüngliche Eingabe mit Stemmer abschneiden, um durchsuchte Ergebnisse zu erhalten
const DTM = createDTM(docs);
const stemmedInput = Stemmer(input);
return DTM[stemmedInput]; // The result
Für das detaillierte Beispiel besuchen Sie bitte den Beispielordner.
Was die Funktion createDTM , ist ein invertiertes Index -Wörterbuch. Es kann mit einer einfachen JavaScript-integrierten Funktion JSON.stringify -Methode in das menschlich-lesbare JSON-Format umgewandelt werden.
Sie können jede Dateilesemethode basierend in Ihren Frameworks auswählen und die JSON -Datei laden, falls vorhanden, bevor Sie die Funktion createDTM aufrufen.