TigerZF
🌐Español

61.8. Interoperando con Java Lucene

61.8.1. Formatos de archivo

Los formatos de archivo de índice de Zend_Search_Lucene son binariamente compatibles con Java Lucene versión 1.4 y posteriores.

Una descripción detallada de este formato está disponible aquí: http://lucene.apache.org/java/2_3_0/fileformats.html [17].

61.8.2. Directorio del índice

Después de la creación del índice, el directorio del índice contendrá varios archivos:

  • El archivo segments es una lista de segmentos del índice.

  • Los archivos *.cfs contienen segmentos del índice. ¡Nota! Un índice optimizado siempre tiene un único segmento.

  • El archivo deletable es una lista de archivos que ya no son utilizados por el índice, pero que no se pudieron eliminar.

61.8.3. Código fuente en Java

El siguiente listado de programa en Java proporciona un ejemplo de cómo indexar un archivo utilizando Java Lucene:

/**
* 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);


[17] La versión de formato de archivo de índice Lucene actualmente soportada es la 2.3 (a partir de Zend Framework 1.6).