Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie eine Suchfunktion in nodejs

So implementieren Sie eine Suchfunktion in nodejs

PHPz
PHPzOriginal
2023-04-17 16:41:141246Durchsuche

Wie wir alle wissen, hat die moderne Netzwerktechnologie ein äußerst entwickeltes Niveau erreicht, und im Netzwerk sind große Mengen an Informationen vorhanden, die mit der Nutzung durch die Menschen jeden Tag wachsen. Daher sind Suchmaschinen zu einem unverzichtbaren Werkzeug für unseren täglichen Gebrauch geworden. Im Bereich der Backend-Entwicklung ist Node.js eine der beliebtesten und am weitesten verbreiteten Technologien. Weil es eine große Anzahl gleichzeitiger Anfragen problemlos verarbeiten kann. In diesem Artikel besprechen wir, wie Sie mit Node.js eine leistungsstarke und skalierbare Suchmaschine erstellen.

Schritt 1: Node.js installieren

Zuerst müssen wir Node.js auf unserem System installieren. Diese erhalten Sie über die Download-Seite auf der offiziellen Website [nodejs.org](nodejs.org). Befolgen Sie nach dem Herunterladen die regulären Schritte zur Installation und Verwendung des Knotenbefehls. Überprüfen Sie, ob die Installation erfolgreich war, indem Sie den folgenden Befehl eingeben:

node -v

Schritt 2: Projekt erstellen

Wir erstellen zunächst ein neues Node.js-Projekt und fügen zur Vereinfachung der Verwendung einige erforderliche Dateien und Module hinzu. Dies kann in der Befehlszeilenschnittstelle mit dem folgenden Befehl erfolgen:

mkdir search-engine && cd search-engine
npm init -y
touch index.js

Im Projektstammverzeichnis haben wir einen neuen Ordner erstellt und diesen Ordner eingegeben. Anschließend verwenden wir den Befehl npm init, um eine neue package.json-Datei zu generieren, die die Codeabhängigkeiten, Autoren und andere Konfigurationen unseres Projekts auflistet. Sobald wir fertig sind, erstellen wir eine Hauptdatei namens index.js, in die wir den Großteil unserer Suchlogik schreiben.

Schritt 3: ElasticSearch-Modul hinzufügen

Im Node.js-Projekt müssen wir das ElasticSearch-Modul verwenden, um Suchvorgänge durchzuführen. Dieses Modul bietet viele Funktionen wie das Erstellen von Indizes, das Durchsuchen von Dokumenten und das Löschen von Daten, die entsprechend den Anforderungen des Projekts konfiguriert und verwendet werden können. Um es nutzen zu können, müssen wir es mit dem folgenden Befehl installieren:

npm install elasticsearch --save

Schritt 4: Suchfunktion implementieren

Wir beginnen mit der Implementierung der Suchfunktion, indem wir die gefundenen Daten in ElasticSearch in das Dokumentformat konvertieren. Dies kann mit dem folgenden Code erfolgen:

const data = [
    { title: '文章1', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 1 },
    { title: '文章2', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 2 },
    { title: '文章3', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 3 },
    { title: '文章4', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 4 },
    { title: '文章5', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 5 },
    { title: '文章6', body: '8月6日讯 北京市公安局交通管理局昨日通报称,自2018年8月5日至8月6日...(略)...', id: 6 },
]

data.forEach(({ title, body, id }) => {
        elasticClient.index({
            index,
            body: {
                id,
                title,
                body
            }
        })
    })

Jetzt können wir ElasticSearch zum Durchführen von Suchvorgängen verwenden. Wir möchten den Suchvorgang in einer Funktion namens Suche kapseln. Diese Funktion benötigt mehrere Parameter wie Abfragezeichenfolge, Dokumenttyp und Anzahl der Ergebnisse. Der Code zum Implementieren der Suche lautet wie folgt:

async function search({ query, type, limit }) {
        const { body } = await elasticClient.search({
            index,
            type,
            body: {
                size: limit,
                query: {
                    match: {
                        title: {
                            query,
                            fuzziness: 2
                        }
                    }
                }
            }
        });

        return body.hits.hits.map(({ _source }) => _source);
    }

Jetzt können wir eine einfache, aber leistungsstarke Suchmaschine in Node.js implementieren. Es kann für verschiedene Anwendungsfälle wie Webanwendungen, interne Unternehmenssuche und Datenanalyse verwendet werden.

Zusammenfassend lässt sich sagen, dass Node.js ein leistungsstarkes Entwicklungstool ist, das uns dabei helfen kann, Backend-Systeme zu erstellen, die hoch skalierbar sind und eine große Anzahl von Anfragen verarbeiten können. Indem wir die Verwendung einzelner Module erlernen, können wir unsere eigene Suchmaschine aufbauen, um unsere Projektanforderungen zu unterstützen. Node.js ist nach wie vor eine der am besten zu verwendenden Backend-Technologien, da es sich beispielsweise bei der Bearbeitung von Anfragen und der Durchführung von Suchen auszeichnet. Durch das Studium und die Praxis dieses Artikels hoffe ich, dass er den Lesern bei der Entwicklung von Suchfunktionen mit Node.js hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine Suchfunktion in nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn