खोज…


टिप्पणियों

Apache Lucene एक जावा-आधारित पूर्ण पाठ खोज पुस्तकालय है।

संस्करण

संस्करण रिलीज़ की तारीख
2.9.4 2010-12-03
3.0.3 2010-12-03
3.6.2 2013-01-16
4.10.4 2015/10/14
5.5.2 2016/06/24
6.3.0 2016/11/08

सेट अप

Lucene एक Java लाइब्रेरी है। यदि आपके पास जावा विकास का वातावरण पहले से सेट नहीं है, तो जावा प्रलेखन देखें

Apache वेबसाइट से Lucene का नवीनतम संस्करण डाउनलोड करें और इसे अनज़िप करें

अपने वर्गपथ में आवश्यक जार जोड़ें। कई परियोजनाओं द्वारा निम्नलिखित जार की आवश्यकता होगी, इसमें हैलो वर्ल्ड उदाहरण भी शामिल है:

  • core/lucene-core-6.1.0.jar . core/lucene-core-6.1.0.jar : कोर ल्यूसीन कार्यक्षमता।
  • core/analysis/common/lucene-analyzers-common-6.1.0.jar : सर्वव्यापी एनालाइजर सहित विभिन्न प्रकार के विश्लेषक प्रदान करता है।
  • queryparser/lucene-queryparser-6.1.0.jar : क्वेरी पार्सर प्रदान करता है।

कोड को HelloLucene.java में HelloLucene.java । इसे इस कमांड के साथ संकलित करें:

javac -classpath "core/*:queryparser/*" HelloLucene.java

और इसे इस कमांड से चलाएं:

java -classpath ".:core/*:queryparser/*" HelloLucene

नमस्ते दुनिया

यह बुनियादी ल्यूसीन उदाहरण एक सरल सूचकांक बनाता है, और उस पर खोज करता है।

नोट: RAMDirectory एक मेमोरी-रेजिडेंशियल इंडेक्स बनाता है, और प्रयोग और परीक्षण के लिए आसान है, लेकिन व्यवहार में ज्यादातर लोगों को फाइल सिस्टम में एक इंडेक्स संग्रहीत करने की आवश्यकता होगी (देखें FSDirectory.open )।

import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.*;
import org.apache.lucene.index.*;
import org.apache.lucene.queryparser.classic.*;
import org.apache.lucene.search.*;
import org.apache.lucene.store.*;

public class HelloLucene {
    public static void main(String[] args) throws IOException, ParseException
    {
        //Create a new index and open a writer
        Directory dir = new RAMDirectory();
        Analyzer analyzer = new StandardAnalyzer();
        IndexWriterConfig config = new IndexWriterConfig(analyzer);
        IndexWriter writer = new IndexWriter(dir, config);
    
        //Create a document to index
        Document doc = new Document();
        doc.add(new TextField("text", "Hello World!", Field.Store.YES));
    
        //Index the document and close the writer
        System.out.println("Indexing document: " + doc);
        writer.addDocument(doc);
        writer.close();
    
        //Open an IndexSearcher
        IndexReader reader = DirectoryReader.open(dir);
        IndexSearcher searcher = new IndexSearcher(reader);
    
        //Create a query
        QueryParser parser = new QueryParser("text", analyzer);
        Query query = parser.parse("world");
    
        //Search for results of the query in the index
        System.out.println("Searching for: \"" + query + "\"");
        TopDocs results = searcher.search(query, 10);
        for (ScoreDoc result : results.scoreDocs) {
            Document resultDoc = searcher.doc(result.doc);
            System.out.println("score: " + result.score + 
                    " -- text: " + resultDoc.get("text"));
        }
        reader.close();
    }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow