官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 白玉县| 利津县| 浙江省| 乐安县| 连平县| 许昌市| 将乐县| 樟树市| 讷河市| 中宁县| 永州市| 根河市| 皋兰县| 甘德县| 自治县| 房山区| 浦江县| 桦南县| 梁平县| 威宁| 邵东县| 稷山县| 汶川县| 法库县| 长顺县| 沾化县| 綦江县| 军事| 灵宝市| 高台县| 丰台区| 聂拉木县| 滦平县| 林口县| 衢州市| 垣曲县| 抚宁县| 嘉定区| 准格尔旗| 明水县| 灵武市|