|
|
@@ -1,51 +1,69 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 18536 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.search.lucene.java-lucene">
|
|
|
- <title>Interoperando com Java Lucene</title>
|
|
|
-
|
|
|
- <sect2 id="zend.search.lucene.index-creation.file-formats">
|
|
|
- <title>Formatos de arquivo</title>
|
|
|
-
|
|
|
- <para>Arquivos Zend_Search_Lucene são arquivos de índice binários
|
|
|
- compatíveis com a versão 1.4 ou superior do Lucene.</para>
|
|
|
-
|
|
|
- <para>Uma descrição detalhada deste formato está disponível aqui: <ulink
|
|
|
- url="http://lucene.apache.org/java/docs/fileformats.html"></ulink>.</para>
|
|
|
- </sect2>
|
|
|
-
|
|
|
- <sect2 id="zend.search.lucene.index-creation.index-directory">
|
|
|
- <title>Diretório índice</title>
|
|
|
-
|
|
|
- <para>Após a criação do índice, o diretório índice conterá os seguintes
|
|
|
- arquivos:</para>
|
|
|
-
|
|
|
- <itemizedlist>
|
|
|
- <listitem>
|
|
|
- <para>O arquivo <filename>segments</filename> contém uma lista de
|
|
|
- segmentos de índice.</para>
|
|
|
- </listitem>
|
|
|
-
|
|
|
- <listitem>
|
|
|
- <para>Os arquivos <filename>*.cfs</filename> contém segmentos de
|
|
|
- índice. Nota! Um índice otimizado terá apenas um único
|
|
|
- segmento.</para>
|
|
|
- </listitem>
|
|
|
-
|
|
|
- <listitem>
|
|
|
- <para>O arquivo <filename>deletable</filename> contém uma lista de
|
|
|
- arquivos que não são mais utilizados pelo índice, mas que não puderam
|
|
|
- ser removidos.</para>
|
|
|
- </listitem>
|
|
|
- </itemizedlist>
|
|
|
- </sect2>
|
|
|
-
|
|
|
- <sect2 id="zend.search.lucene.java-lucene.source-code">
|
|
|
- <title>Código fonte Java</title>
|
|
|
-
|
|
|
- <para>A listagem do programa Java abaixo oferece um exemplo de como
|
|
|
- indexar um arquivo usando Java Lucene:</para>
|
|
|
-
|
|
|
- <programlisting role="java">
|
|
|
+ <title>Interoperando com Java Lucene</title>
|
|
|
+
|
|
|
+ <sect2 id="zend.search.lucene.index-creation.file-formats">
|
|
|
+ <title>Formatos de Arquivo</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Os formatos de arquivos de índice do <classname>Zend_Search_Lucene</classname> são
|
|
|
+ binários compatíveis com Java Lucene versão 1.4 e superior.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Uma descrição detalhada deste formato está disponível aqui:
|
|
|
+ <ulink url="http://lucene.apache.org/java/2_3_0/fileformats.html"/>
|
|
|
+ <footnote>
|
|
|
+ <para>
|
|
|
+ A versão do formato de arquivo de índice Lucene suportado atualmente é a 2.3 (a
|
|
|
+ partir do Zend Framework 1.6).
|
|
|
+ </para>
|
|
|
+ </footnote>.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+
|
|
|
+ <sect2 id="zend.search.lucene.index-creation.index-directory">
|
|
|
+ <title>Diretório Índice</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Após a criação do índice, o diretório índice conterá alguns arquivos:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <itemizedlist>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ O arquivo <filename>segments</filename> é uma lista de segmentos de índice.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ Os arquivos <filename>*.cfs</filename> contém segmentos de índice. Nota! Um
|
|
|
+ índice otimizado sempre terá apenas um único segmento.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ O arquivo <filename>deletable</filename> é uma lista de arquivos que não são
|
|
|
+ mais utilizados pelo índice, mas que não puderam ser removidos.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ </itemizedlist>
|
|
|
+ </sect2>
|
|
|
+
|
|
|
+ <sect2 id="zend.search.lucene.java-lucene.source-code">
|
|
|
+ <title>Código Fonte Java</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ O programa Java abaixo oferece um exemplo de como indexar um arquivo usando Java Lucene:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="java"><![CDATA[
|
|
|
/**
|
|
|
-* Index creation:
|
|
|
+* Criação do índice:
|
|
|
*/
|
|
|
import org.apache.lucene.index.IndexWriter;
|
|
|
import org.apache.lucene.document.*;
|
|
|
@@ -71,54 +89,10 @@ Reader reader = new BufferedReader(new InputStreamReader(is));
|
|
|
doc.add(Field.Text("contents", reader));
|
|
|
|
|
|
indexWriter.addDocument(doc);
|
|
|
- </programlisting>
|
|
|
- </sect2>
|
|
|
-
|
|
|
- <sect2 id="zend.search.lucene.java-lucene.jar">
|
|
|
- <title>Usando LuceneIndexCreation.jar</title>
|
|
|
-
|
|
|
- <para>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:
|
|
|
- <ulink
|
|
|
- url="http://java.sun.com/docs/books/tutorial/jar/basics/index.html"></ulink>.</para>
|
|
|
-
|
|
|
- <para>O programa LuceneIndexCreation.jar processa arquivos de texto,
|
|
|
- gerando índices a partir deles . Utilização: <programlisting role="java">
|
|
|
- java -jar LuceneIndexCreation.jar [-c] [-s] <document_dir> <index_dir>
|
|
|
- -c - force index to be case sensitive
|
|
|
- -s - store content in the index
|
|
|
- </programlisting> Este comando processa o diretório
|
|
|
- <code><document_dir></code>, 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
|
|
|
- <code><index_dir></code>.</para>
|
|
|
-
|
|
|
- <para>Para cada documento a ser indexado, LuceneIndexCreation cria um
|
|
|
- objeto documento contendo três campos: um campo
|
|
|
- <emphasis>contents</emphasis> que armazena o corpo do documento, um campo
|
|
|
- <emphasis>modified</emphasis> indicando a hora de modificação do arquivo,
|
|
|
- e um campo <emphasis>path</emphasis> contendo o nome e caminho completo
|
|
|
- para o arquivo.</para>
|
|
|
-
|
|
|
- <para>O parâmetro <option>-c</option>, 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.</para>
|
|
|
-
|
|
|
- <para>O parâmetro <option>-s</option>, determina que o campo
|
|
|
- <code>contents</code> seja gravado no índice para ser retornado junto com
|
|
|
- os campos <code>path</code> e <code>modified</code>.</para>
|
|
|
-
|
|
|
- <para>Se omitido, <code>contents</code> será indexado e <code>path</code>
|
|
|
- e <code>modified</code> serão armazenados. Neste caso o conteúdo do
|
|
|
- documento deverá ser recuperado a partir de uma fonte original indicada
|
|
|
- pelo campo <code>path</code>.</para>
|
|
|
-
|
|
|
- <para>Seja criterioso ao usar a opção <option>-s</option>, pois ela
|
|
|
- aumenta o tamanho do índice em cerca de cinco vezes
|
|
|
- aproximadamente.</para>
|
|
|
- </sect2>
|
|
|
+]]></programlisting>
|
|
|
+ </sect2>
|
|
|
</sect1>
|
|
|
+
|
|
|
<!--
|
|
|
vim:se ts=4 sw=4 et:
|
|
|
-->
|