Comme nous le savons tous, la technologie des réseaux modernes a atteint un niveau extrêmement développé et une grande quantité d'informations existe sur Internet, augmentant chaque jour avec l'utilisation des gens. Les moteurs de recherche sont donc devenus un outil essentiel pour notre usage quotidien. Dans le domaine du développement back-end, Node.js est l'une des technologies les plus populaires et les plus utilisées. Parce qu’il peut facilement gérer un grand nombre de requêtes simultanées. Dans cet article, nous verrons comment utiliser Node.js pour créer un moteur de recherche puissant et évolutif.
Tout d'abord, nous devons installer Node.js sur notre système. Ceci est obtenu via la page de téléchargement sur le site officiel [nodejs.org](nodejs.org). Après le téléchargement, suivez les étapes habituelles pour installer et utiliser la commande node. Vérifiez que l'installation a réussi en entrant la commande suivante :
node -v
Nous créons d'abord un nouveau projet Node.js et ajoutons quelques fichiers et modules nécessaires pour faciliter l'utilisation. Cela peut être fait dans l'interface de ligne de commande avec la commande suivante :
mkdir search-engine && cd search-engine npm init -y touch index.js
Dans le répertoire racine du projet, nous avons créé un nouveau dossier et entré dans ce dossier. Nous utilisons ensuite la commande npm init pour générer un nouveau fichier package.json qui répertorie les dépendances de code, les auteurs et autres configurations de notre projet. Une fois terminé, nous créons un fichier principal appelé index.js, dans lequel nous écrirons la plupart de notre logique de recherche.
Dans le projet Node.js, nous devons utiliser le module ElasticSearch pour effectuer des opérations de recherche. Ce module fournit de nombreuses fonctions telles que la création d'index, la recherche de documents et la suppression de données, qui peuvent être configurées et utilisées selon les besoins du projet. Pour l'utiliser, nous devons l'installer à l'aide de la commande suivante :
npm install elasticsearch --save
Nous commençons à implémenter la fonction de recherche en convertissant les données trouvées au format de document dans ElasticSearch. Cela peut être fait en utilisant le code suivant :
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 } }) })
Maintenant, nous sommes prêts à utiliser ElasticSearch pour effectuer des opérations de recherche. Nous voulons encapsuler le processus de recherche dans une fonction appelée recherche. Cette fonction prend plusieurs paramètres tels que la chaîne de requête, le type de document et le nombre de résultats. Le code pour implémenter la recherche est le suivant :
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); }
Maintenant, nous pouvons implémenter un moteur de recherche simple mais puissant dans Node.js. Il peut être utilisé pour divers cas d'utilisation tels que les applications Web, la recherche interne d'entreprise et l'analyse de données.
Pour résumer, Node.js est un outil de développement puissant qui peut nous aider à créer des systèmes backend hautement évolutifs et capables de gérer un grand nombre de requêtes. En apprenant à utiliser des modules individuels, nous pouvons créer notre propre moteur de recherche pour répondre aux besoins de notre projet. Node.js reste l'une des meilleures technologies backend à utiliser car elle excelle dans des domaines tels que le traitement des requêtes et l'exécution de recherches. Grâce à l'étude et à la pratique de cet article, j'espère qu'il sera utile aux lecteurs dans le développement de fonctions de recherche utilisant Node.js.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!