Rumah Java javaTutorial Pembangunan Java: Bagaimana untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh

Pembangunan Java: Bagaimana untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh

Sep 21, 2023 pm 01:10 PM
enjin carian Carian teks penuh pembangunan java

Pembangunan Java: Bagaimana untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh

Pembangunan Java: Bagaimana untuk melaksanakan fungsi pencarian enjin carian dan teks penuh, contoh kod khusus diperlukan

Enjin carian dan perolehan teks penuh adalah fungsi penting dalam era Internet moden. Mereka bukan sahaja membantu pengguna mencari perkara yang mereka inginkan dengan cepat, mereka juga menyediakan pengalaman pengguna yang lebih baik untuk tapak web dan apl. Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan enjin carian dan fungsi perolehan teks penuh, dan menyediakan beberapa contoh kod khusus.

  1. Gunakan perpustakaan Lucene untuk melaksanakan carian teks penuh

Lucene ialah perpustakaan enjin carian teks penuh sumber terbuka yang diselenggara oleh Yayasan Perisian Apache. Ia menyediakan API berkuasa yang boleh digunakan untuk membina enjin carian dan melaksanakan fungsi mendapatkan semula teks penuh.

Pertama, anda perlu menambah perpustakaan Lucene pada projek Java anda. Anda boleh mendapatkan versi Lucene terkini serta dokumentasi yang berkaitan dan kod sampel di https://lucene.apache.org/.

Berikut ialah contoh mudah yang menunjukkan cara menggunakan Lucene untuk mengindeks dan mencari kandungan teks:

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;

public class LuceneExample {
    public static void main(String[] args) throws Exception {
        // 创建索引存储目录
        Directory directory = new RAMDirectory();
        
        // 创建索引写入器
        IndexWriter indexWriter = new IndexWriter(directory, new StandardAnalyzer());
        
        // 创建文档并添加到索引中
        Document doc1 = new Document();
        doc1.add(new Field("content", "Java开发", Field.Store.YES, Field.Index.ANALYZED));
        indexWriter.addDocument(doc1);
        
        Document doc2 = new Document();
        doc2.add(new Field("content", "搜索引擎", Field.Store.YES, Field.Index.ANALYZED));
        indexWriter.addDocument(doc2);
        
        indexWriter.close();
        
        // 搜索文档
        DirectoryReader reader = DirectoryReader.open(directory);
        IndexSearcher searcher = new IndexSearcher(reader);
        
        QueryParser parser = new QueryParser("content", new StandardAnalyzer());
        Query query = parser.parse("Java");
        
        TopDocs topDocs = searcher.search(query, 10);
        
        for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
            Document document = searcher.doc(scoreDoc.doc);
            System.out.println("搜索结果: " + document.get("content"));
        }
    }
}
Salin selepas log masuk

Contoh di atas mula-mula mencipta direktori storan indeks berasaskan memori RAMDirectory,然后通过IndexWriter将文档添加到索引中。接下来,使用IndexSearcherQueryParserMelakukan penghuraian pertanyaan carian dan operasi carian masing-masing, dan mencetak carian itu Hasilnya menunjukkan pelaksanaan fungsi carian.

  1. Gunakan Elasticsearch untuk melaksanakan enjin carian

Selain Lucene, anda juga boleh menggunakan Elasticsearch untuk membina enjin carian dan melaksanakan fungsi mendapatkan teks penuh. Elasticsearch ialah enjin carian masa nyata yang diedarkan berdasarkan Lucene, yang menyediakan keupayaan carian dan analisis yang lebih berkuasa.

Pertama, anda perlu memuat turun dan memasang Elasticsearch. Anda boleh mendapatkan versi Elasticsearch terkini bersama dokumentasi dan kod sampel yang berkaitan di https://www.elastic.co/downloads/elasticsearch.

Berikut ialah contoh mudah yang menunjukkan cara menggunakan Java dan Elasticsearch untuk pembangunan enjin carian:

import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;

import java.io.IOException;

public class ElasticsearchExample {
    public static void main(String[] args) throws IOException {
        // 创建Elasticsearch客户端
        RestHighLevelClient client = new RestHighLevelClient(RestClient.builder("localhost:9200"));
        
        // 构建搜索请求
        SearchRequest searchRequest = new SearchRequest("index_name");
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(QueryBuilders.matchQuery("content", "Java"));
        searchSourceBuilder.size(10);
        searchSourceBuilder.timeout(TimeValue.timeValueSeconds(5));
        searchRequest.source(searchSourceBuilder);
        
        // 执行搜索请求,并处理搜索结果
        SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
        
        for (SearchHit hit : searchResponse.getHits().getHits()) {
            System.out.println("搜索结果: " + hit.getSourceAsString());
        }
        
        // 关闭Elasticsearch客户端
        client.close();
    }
}
Salin selepas log masuk

Contoh di atas menunjukkan cara menggunakan klien Java REST High Level Elasticsearch untuk pembinaan dan pelaksanaan permintaan carian dan mencetaknya melalui hasil Carian untuk menunjukkan pelaksanaan fungsi carian.

Artikel ini memperkenalkan cara menggunakan Java untuk membangunkan enjin carian dan fungsi perolehan teks penuh, serta menyediakan dua contoh Lucene dan Elasticsearch. Melalui contoh ini, anda boleh lebih memahami cara menggunakan kod khusus untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Pembangunan Java: Bagaimana untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pintu masuk enjin carian cakera awan Baidu Pintu masuk enjin carian cakera awan Baidu Feb 27, 2024 pm 01:00 PM

Baidu Cloud ialah perisian yang membolehkan pengguna menyimpan banyak fail Jadi apakah pintu masuk ke enjin carian Baidu Cloud Disk? Pengguna boleh memasukkan URL https://pan.baidu.com untuk memasuki Baidu Cloud Disk Perkongsian pintu masuk terbaru ke enjin carian Baidu Cloud Disk ini akan memberi anda pengenalan terperinci. . Pintu masuk enjin carian cakera awan Baidu 1. Laman web carian Qianfan: https://pan.qianfan.app Menyokong cakera rangkaian: carian agregat, Alibaba, Baidu, Quark, Lanzuo, Tianyi, kaedah paparan cakera rangkaian Xunlei: log masuk diperlukan, ikut syarikat Kelebihan mendapatkan kod pengaktifan: Cakera rangkaian adalah komprehensif, terdapat banyak sumber, dan antara muka adalah mudah. 2. Laman web Maolipansou: alipansou.c

Apakah lima pilihan untuk memilih laluan kerjaya Java yang paling sesuai dengan anda? Apakah lima pilihan untuk memilih laluan kerjaya Java yang paling sesuai dengan anda? Jan 30, 2024 am 10:35 AM

Terdapat lima arah pekerjaan dalam industri Java, yang manakah sesuai untuk anda? Java, sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan perisian, sentiasa popular. Disebabkan sifat merentas platform yang kukuh dan rangka kerja pembangunan yang kaya, pembangun Java mempunyai pelbagai peluang pekerjaan dalam pelbagai industri. Dalam industri Java, terdapat lima arah pekerjaan utama, termasuk pembangunan JavaWeb, pembangunan aplikasi mudah alih, pembangunan data besar, pembangunan terbenam dan pembangunan pengkomputeran awan. Setiap arah mempunyai ciri-ciri dan kelebihannya Lima arah akan dibincangkan di bawah.

Penting untuk pembangunan Java: Mengesyorkan alat penyahkompilasi yang paling cekap Penting untuk pembangunan Java: Mengesyorkan alat penyahkompilasi yang paling cekap Jan 09, 2024 pm 07:34 PM

Penting untuk pembangun Java: Mengesyorkan alat penyahkompilasi terbaik, contoh kod khusus diperlukan Pengenalan: Semasa proses pembangunan Java, kita sering menghadapi situasi di mana kita perlu menyahkompilasi kelas Java sedia ada. Nyahkompilasi boleh membantu kami memahami dan mempelajari kod orang lain, atau membuat pembaikan dan pengoptimuman. Artikel ini akan mengesyorkan beberapa alat penyahkompilasi Java yang terbaik dan menyediakan beberapa contoh kod khusus untuk membantu pembaca mempelajari dan menggunakan alat ini dengan lebih baik. 1. JD-GUIJD-GUI ialah sumber terbuka yang sangat popular

Bagaimana untuk menyediakan Google Chrome untuk menukar enjin carian Bagaimana untuk menukar enjin carian dalam penyemak imbas Bagaimana untuk menyediakan Google Chrome untuk menukar enjin carian Bagaimana untuk menukar enjin carian dalam penyemak imbas Mar 15, 2024 pm 12:49 PM

Bagaimana untuk menukar enjin carian dalam Google Chrome? Google Chrome ialah penyemak imbas yang sangat popular di kalangan pengguna Ia bukan sahaja mempunyai perkhidmatan yang ringkas dan mudah digunakan, alatan praktikal dan fungsi tambahan yang lain, tetapi juga boleh memenuhi keperluan pengguna yang berbeza secara default kepada Google mahu Bagaimana saya perlu menyediakannya untuk menggantikannya? Jom saya kongsikan caranya di bawah. Kaedah penggantian 1. Klik untuk membuka Google Chrome. 2. Klik ikon tiga titik untuk membuka antara muka menu. 3. Klik pilihan Tetapan untuk memasuki antara muka tetapan penyemak imbas. 4. Cari modul enjin carian dalam antara muka tetapan. 5. Klik butang Urus Enjin Carian. 6. Anda boleh melihat butang tambah Klik butang tambah ini untuk menambah enjin carian. ,

Kemahiran pembangunan Java didedahkan: melaksanakan fungsi penyulitan dan penyahsulitan data Kemahiran pembangunan Java didedahkan: melaksanakan fungsi penyulitan dan penyahsulitan data Nov 20, 2023 pm 05:00 PM

Kemahiran pembangunan Java didedahkan: Melaksanakan fungsi penyulitan dan penyahsulitan data Dalam era maklumat semasa, keselamatan data telah menjadi isu yang sangat penting. Untuk melindungi keselamatan data sensitif, banyak aplikasi menggunakan algoritma penyulitan untuk menyulitkan data. Sebagai bahasa pengaturcaraan yang sangat popular, Java juga menyediakan perpustakaan yang kaya dengan teknologi dan alatan penyulitan. Artikel ini akan mendedahkan beberapa teknik untuk melaksanakan fungsi penyulitan dan penyahsulitan data dalam pembangunan Java untuk membantu pembangun melindungi keselamatan data dengan lebih baik. 1. Pemilihan algoritma penyulitan data Java menyokong banyak

Pengalaman praktikal dalam pembangunan Java: menggunakan MQTT untuk melaksanakan fungsi IoT Pengalaman praktikal dalam pembangunan Java: menggunakan MQTT untuk melaksanakan fungsi IoT Nov 20, 2023 pm 01:45 PM

Dengan perkembangan teknologi IoT, semakin banyak peranti dapat menyambung ke Internet dan berkomunikasi serta berinteraksi melalui Internet. Dalam pembangunan aplikasi IoT, Protokol Pengangkutan Telemetri Beratur Mesej (MQTT) digunakan secara meluas sebagai protokol komunikasi ringan. Artikel ini akan memperkenalkan cara menggunakan pengalaman praktikal pembangunan Java untuk melaksanakan fungsi IoT melalui MQTT. 1. Apakah MQT? QTT ialah protokol penghantaran mesej berdasarkan model terbitkan/langgan. Ia mempunyai reka bentuk yang ringkas dan overhed yang rendah, dan sesuai untuk senario aplikasi yang menghantar sejumlah kecil data dengan cepat.

Cara menggunakan enjin carian Google Chrome Cara menggunakan enjin carian Google Chrome Jan 04, 2024 am 11:15 AM

Google Chrome sangat bagus. Terdapat ramai rakan yang menggunakannya. Ramai rakan ingin menggunakan enjin carian Google sendiri, tetapi tidak tahu cara menggunakannya. Cara menggunakan enjin carian Google dalam Google Chrome: 1. Buka Google Chrome dan klik Lagi di penjuru kanan sebelah atas untuk membuka tetapan. 2. Selepas memasukkan tetapan, klik "Enjin Carian" di sebelah kiri. 3. Semak sama ada enjin carian anda ialah "Google". 4. Jika tidak, anda boleh mengklik butang lungsur dan menukarnya kepada "Google".

Kemahiran pembangunan Java didedahkan: melaksanakan fungsi pemampatan dan pemangkasan imej Kemahiran pembangunan Java didedahkan: melaksanakan fungsi pemampatan dan pemangkasan imej Nov 20, 2023 pm 03:27 PM

Java ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan perisian yang kaya dengan perpustakaan dan fungsi yang berkuasa boleh digunakan untuk membangunkan pelbagai aplikasi. Pemampatan dan pemangkasan imej adalah keperluan biasa dalam pembangunan aplikasi web dan mudah alih. Dalam artikel ini, kami akan mendedahkan beberapa teknik pembangunan Java untuk membantu pembangun melaksanakan fungsi pemampatan dan pemangkasan imej. Mula-mula, mari kita bincangkan pelaksanaan pemampatan imej. Dalam aplikasi web, gambar selalunya perlu dihantar melalui rangkaian. Jika imej terlalu besar, ia akan mengambil masa yang lebih lama untuk memuatkan dan menggunakan lebih lebar jalur. Oleh itu, kami

See all articles