Interoperando com Java Lucene Formatos de arquivo Arquivos Zend_Search_Lucene são arquivos de índice binários compatíveis com a versão 1.4 ou superior do Lucene. Uma descrição detalhada deste formato está disponível aqui: . Diretório índice Após a criação do índice, o diretório índice conterá os seguintes arquivos: O arquivo segments contém uma lista de segmentos de índice. Os arquivos *.cfs contém segmentos de índice. Nota! Um índice otimizado terá apenas um único segmento. O arquivo deletable contém uma lista de arquivos que não são mais utilizados pelo índice, mas que não puderam ser removidos. Código fonte Java A listagem do programa Java abaixo oferece um exemplo de como indexar um arquivo usando 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); Usando LuceneIndexCreation.jar Para acelerar o aprendizado do Zend_Search_Lucene, rode o arquivo JAR (Java) abaixo, conforme o exemplo, para gerar um índice a partir da linha de comando. Para maiores informações sobre arquivos JAR visite: . O programa LuceneIndexCreation.jar processa arquivos de texto, gerando índices a partir deles . Utilização: java -jar LuceneIndexCreation.jar [-c] [-s] <document_dir> <index_dir> -c - force index to be case sensitive -s - store content in the index Este comando processa o diretório <document_dir>, incluíndo todos os seus subdiretórios, produzindo um índice Lucene. O índice é um conjunto de arquivos que serão armazenados em um diretório reservado especificado por <index_dir>. Para cada documento a ser indexado, LuceneIndexCreation cria um objeto documento contendo três campos: um campo contents que armazena o corpo do documento, um campo modified indicando a hora de modificação do arquivo, e um campo path contendo o nome e caminho completo para o arquivo. O parâmetro , quando especificado, força o índice a ser sensível à caixa. Se omitido, todos os termos serão convertidos para caractéres minúsculos antes de serem adicionados ao índice. O parâmetro , determina que o campo contents seja gravado no índice para ser retornado junto com os campos path e modified. Se omitido, contents será indexado e path e modified serão armazenados. Neste caso o conteúdo do documento deverá ser recuperado a partir de uma fonte original indicada pelo campo path. Seja criterioso ao usar a opção , pois ela aumenta o tamanho do índice em cerca de cinco vezes aproximadamente.