Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zendsearch.lucene.java-lucene.html

Size:13134
Storage flags:no_autoload,compress/gzip (27%)

Interoperating with Java Lucene — Zend Framework 2 2.4.2 documentation

Interoperating with Java Lucene

File Formats

Zend\Search\Lucene index file formats are binary compatible with Java Lucene version 1.4 and greater.

A detailed description of this format is available here: http://lucene.apache.org/java/2_3_0/fileformats.html [1].

Index Directory

After index creation, the index directory will contain several files:

  • The segments file is a list of index segments.
  • The *.cfs files contain index segments. Note! An optimized index always has only one segment.
  • The deletable file is a list of files that are no longer used by the index, but which could not be deleted.

Java Source Code

The Java program listing below provides an example of how to index a file using Java Lucene:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* Index creation:
*/
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.document.*;

import java.io.*

...

IndexWriter indexWriter = new IndexWriter("/data/my_index",
                                          new SimpleAnalyzer(), true);

...

String filename = "/path/to/file-to-index.txt"
File f = new File(filename);

Document doc = new Document();
doc.add(Field.Text("path", filename));
doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
doc.add(Field.Text("author", "unknown"));
FileInputStream is = new FileInputStream(f);
Reader reader = new BufferedReader(new InputStreamReader(is));
doc.add(Field.Text("contents", reader));

indexWriter.addDocument(doc);
[1]The currently supported Lucene index file format version is 2.3 (starting from Zend Framework 1.6).

Table Of Contents

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Interoperating with Java Lucene on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net