Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk melaksanakan fungsi carian dalam nodejs

Bagaimana untuk melaksanakan fungsi carian dalam nodejs

PHPz
PHPzasal
2023-04-17 16:41:141326semak imbas

Seperti yang kita ketahui, teknologi rangkaian moden telah mencapai tahap yang sangat maju, dan sejumlah besar maklumat wujud di Internet, yang meningkat setiap hari dengan penggunaan orang ramai. Oleh itu, enjin carian telah menjadi alat penting untuk kegunaan harian kita. Dalam bidang pembangunan bahagian belakang, Node.js ialah salah satu teknologi yang paling popular dan digunakan secara meluas. Kerana ia boleh mengendalikan sejumlah besar permintaan serentak dengan mudah. Dalam artikel ini, kami akan membincangkan cara menggunakan Node.js untuk membina enjin carian yang berkuasa dan berskala.

Langkah 1: Pasang Node.js

Mula-mula, kami perlu memasang Node.js pada sistem kami. Ini diperoleh melalui halaman muat turun di laman web rasmi [nodejs.org](nodejs.org). Selepas memuat turun, ikuti langkah biasa untuk memasang dan menggunakan arahan nod. Sahkan pemasangan berjaya dengan memasukkan arahan berikut:

node -v

Langkah 2: Cipta Projek

Kami mula-mula mencipta projek Node.js baharu dan menambah beberapa fail dan modul yang diperlukan untuk digunakan . Ini boleh dilakukan dalam antara muka baris arahan dengan arahan berikut:

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

Dalam direktori akar projek, kami mencipta folder baharu dan memasukkan folder itu. Kami kemudian menggunakan arahan npm init untuk menjana fail package.json baharu yang menyenaraikan kebergantungan kod projek kami, pengarang dan konfigurasi lain. Setelah selesai, kami mencipta fail utama yang dipanggil index.js, di mana kami akan menulis kebanyakan logik carian kami.

Langkah 3: Tambahkan modul ElasticSearch

Dalam projek Node.js, kita perlu menggunakan modul ElasticSearch untuk melaksanakan operasi carian. Modul ini menyediakan banyak fungsi seperti mencipta indeks, mencari dokumen dan memadam data, yang boleh dikonfigurasikan dan digunakan mengikut keperluan projek. Untuk menggunakannya, kita perlu memasangnya menggunakan arahan berikut:

npm install elasticsearch --save

Langkah 4: Laksanakan fungsi carian

Apabila kita mula melaksanakan fungsi carian, kita perlu tukar data yang dicari ke dalam format Dokumen ElasticSearch. Ini boleh dilakukan menggunakan kod berikut:

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
            }
        })
    })

Kini, kami bersedia untuk menggunakan ElasticSearch untuk melaksanakan operasi carian. Kami ingin merangkum proses carian dalam fungsi yang dipanggil carian. Fungsi ini mengambil berbilang parameter seperti rentetan pertanyaan, jenis dokumen dan bilangan hasil. Kod untuk melaksanakan carian adalah seperti berikut:

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);
    }

Kini, kami boleh melaksanakan enjin carian yang ringkas tetapi berkuasa dalam Node.js. Ia boleh digunakan untuk pelbagai kes penggunaan seperti aplikasi web, carian perusahaan dalaman dan analisis data.

Ringkasnya, Node.js ialah alat pembangunan yang berkuasa yang boleh membantu kami membina sistem back-end yang sangat berskala dan mampu mengendalikan sejumlah besar permintaan. Dengan mempelajari penggunaan modul individu, kami boleh membina enjin carian kami sendiri untuk menyokong keperluan projek kami. Node.js kekal sebagai salah satu teknologi bahagian belakang terbaik untuk digunakan kerana ia cemerlang dalam perkara seperti mengendalikan permintaan dan melakukan carian. Melalui kajian dan amalan artikel ini, saya berharap ia akan membantu pembaca dalam pembangunan fungsi carian menggunakan Node.js.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi carian dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn