- Lucene 4 Cookbook
- Edwood Ng Vineeth Mohan
- 258字
- 2021-07-16 14:07:48
Creating and writing documents to an index
This recipe shows you how to index a document. In fact, here we are putting together all that we learned so far from the previous recipes. Let's see how it is done.
How to do it...
The following code sample shows you an example of adding a simple document to an index:
public class LuceneTest { public static void main(String[] args) throws IOException { Analyzer analyzer = new WhitespaceAnalyzer(); Directory directory = new RAMDirectory(); IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer); IndexWriter indexWriter = new IndexWriter(directory, config); Document doc = new Document(); String text = "Lucene is an Information Retrieval library written in Java"; doc.add(new TextField("fieldname", text, Field.Store.YES)); indexWriter.addDocument(doc); indexWriter.close(); } }
Tip
Downloading the example code
You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
How it works…
Note that the preceding code snippet combined all the sample codes we learned so far. It first initializes an analyzer, directory, IndexWriterConfig
, and IndexWriter
. Once the IndexWriter is obtained, a new Document is created with a custom TextField
. The Document is then added to IndexWriter. Also, note that we call indexWriter.close()
at the end. calling this method, will commit all changes and close the index.
The IndexWriter
class exposes an addDocument(doc)
method that allows you to add documents to an index. IndexWriter
will write to an index specified by directory.
- Learning Java Functional Programming
- JavaScript百煉成仙
- GraphQL學(xué)習(xí)指南
- Arduino開發(fā)實(shí)戰(zhàn)指南:LabVIEW卷
- 編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議
- Functional Kotlin
- 正則表達(dá)式經(jīng)典實(shí)例(第2版)
- PHP+MySQL網(wǎng)站開發(fā)項(xiàng)目式教程
- Python貝葉斯分析(第2版)
- Java EE 7 Performance Tuning and Optimization
- 深度學(xué)習(xí):Java語言實(shí)現(xiàn)
- 響應(yīng)式架構(gòu):消息模式Actor實(shí)現(xiàn)與Scala、Akka應(yīng)用集成
- Vue.js 2 Web Development Projects
- JBoss:Developer's Guide
- LabVIEW數(shù)據(jù)采集