| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.search.lucene.overview">
- <title>Resumo</title>
- <sect2 id="zend.search.lucene.introduction">
- <title>Introdução</title>
- <para>
- <classname>Zend_Search_Lucene</classname> é um mecanismo para pesquisa de texto, de
- propósito geral, escrito totalmente em <acronym>PHP</acronym> 5. Por armazenar os
- índices no sistema de arquivos e não fazer uso de servidor de banco de dados, ele pode
- efetuar pesquisas em qualquer website rodando <acronym>PHP</acronym>. O
- <classname>Zend_Search_Lucene</classname> possui os seguintes recursos:
- <itemizedlist>
- <listitem>
- <para>
- Pesquisa agrupada por pontuação (ranked) - os resultados mais prováveis são
- retornados primeiro
- </para>
- </listitem>
- <listitem>
- <para>
- Consultas poderosas de diversos tipos: frase, curingas, booleanas,
- aproximação, faixas e muitas outras.
- </para>
- </listitem>
- <listitem>
- <para>Busca por campo específico (ex: título, autor, descrição)</para>
- </listitem>
- </itemizedlist>
- <classname>Zend_Search_Lucene</classname> derivou do projeto Apache Lucene. Atualmente
- (iniciando do ZF 1.6), as versões suportadas formato de índice Lucene são 1.4 - 2.3.
- Para mais informações, visite <ulink url="http://lucene.apache.org/java/docs/"/>.
- </para>
- <note>
- <title/>
- <para>
- Implementações anteriores de <classname>Zend_Search_Lucene</classname> suportam os
- formatos de índice Lucene 1.4 (1.9) - 2.1.
- </para>
- <para>
- A partir do Zend Framework 1.5, qualquer índice criado usando formato de índice
- menor que 2.1 é atualizado automaticamente para o formato Lucene 2.1 após a
- atualização <classname>Zend_Search_Lucene</classname> e não será compatível com as
- implementações do <classname>Zend_Search_Lucene</classname> incluídas no Zend
- Framework 1.0.x.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.documents-and-fields">
- <title>Objetos Documento e Campo</title>
- <para>
- <classname>Zend_Search_Lucene</classname> trabalha sobre os documentos
- subdividindo-os em pequenos objetos (atômicos) de indexação. Um documento é
- dividido em campos identificados cujo conteúdo é pesquisado.
- </para>
- <para>
- Um documento é representado pela classe
- <classname>Zend_Search_Lucene_Document</classname>, e os objetos dessa classe
- contêm instâncias de <classname>Zend_Search_Lucene_Field</classname> que
- representam os campos no documento.
- </para>
- <para>
- O que é importante ressaltar é que qualquer informação pode ser adicionada a um
- índice. Informações específicas de aplicações ou metadados podem ser armazenados em
- campos de um documento, e posteriormente recuperados juntamente com o documento
- durante uma pesquisa.
- </para>
- <para>
- Controlar o indexador é responsabilidade de sua aplicação. Este recurso garante que
- os dados possam ser indexados a partir de qualquer fonte que seja acessível à sua
- aplicação. Por exemplo, um sistema de arquivos, um banco de dados, um formulário
- <acronym>HTML</acronym>, etc.
- </para>
- <para>
- A classe <classname>Zend_Search_Lucene_Field</classname> provê alguns métodos
- estáticos para criação de campos com diferentes características:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = new Zend_Search_Lucene_Document();
- // O campo não é separado em tokens, mas é indexado e armazenado dentro do
- // índice.
- // Campos armazenados podem ser recuperados a partir do índice.
- $doc->addField(Zend_Search_Lucene_Field::Keyword('doctype',
- 'autogenerated'));
- // O campo não é separado em tokens nem indexado, mas é armazenado no índice.
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed('created',
- time()));
- // O campo avaliado como string binária não é separado em tokens nem indexado,
- // mas é armazenado no índice.
- $doc->addField(Zend_Search_Lucene_Field::Binary('icon',
- $iconData));
- // O campo é separado em tokens e indexado, e é armazenado no índice.
- $doc->addField(Zend_Search_Lucene_Field::Text('annotation',
- 'Document annotation text'));
- // O campo é separado em tokens e indexado, mas não é armazenado no índice.
- $doc->addField(Zend_Search_Lucene_Field::UnStored('contents',
- 'My document content'));
- ]]></programlisting>
- <para>
- Cada um desses métodos (excluindo o método
- <methodname>Zend_Search_Lucene_Field::Binary()</methodname>) têm um parâmetro
- <varname>$encoding</varname> opcional para especificar a entrada dos dados de
- codificação.
- </para>
- <para>
- A codificação pode divergir entre documentos diferentes, bem como para campos
- diferentes dentro de um mesmo documento:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = new Zend_Search_Lucene_Document();
- $doc->addField(Zend_Search_Lucene_Field::Text('title',
- $title,
- 'iso-8859-1'));
- $doc->addField(Zend_Search_Lucene_Field::UnStored('contents',
- $contents,
- 'utf-8'));
- ]]></programlisting>
- <para>
- Se o parâmetro de codificação é omitido, então a localidade atual é usada em tempo
- de processamento. Por exemplo:
- </para>
- <programlisting language="php"><![CDATA[
- setlocale(LC_ALL, 'de_DE.iso-8859-1');
- ...
- $doc->addField(Zend_Search_Lucene_Field::UnStored('contents', $contents));
- ]]></programlisting>
- <para>
- Os campos são sempre armazenados e devolvidos ao índice na codificação UTF-8.
- Qualquer conversão necessária para UTF-8 acontece automaticamente.
- </para>
- <para>
- Analisadores de texto (<link linkend="zend.search.lucene.extending.analysis">veja
- abaixo</link>) também podem converter texto para algumas outras codificações. Na
- verdade, o analisador de padrão converte o texto para a codificação
- 'ASCII//TRANSLIT'. Porém, tenha cuidado, esta tradução pode depender da localidade
- atual.
- </para>
- <para>
- Nomes de campos são definidos a seu critério no método
- <methodname>addField()</methodname>.
- </para>
- <para>
- Java Lucene usa o campo 'contents' como um campo padrão de busca.
- <classname>Zend_Search_Lucene</classname> busca por padrão através de todos os
- domínios, mas este comportamento é configurável. Consulte o capítulo
- <link linkend="zend.search.lucene.query-language.fields">"Campo de pesquisa
- padrão"</link> para mais detalhes.
- </para>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.understanding-field-types">
- <title>Entendendo os Tipos de Campos</title>
- <itemizedlist>
- <listitem>
- <para>
- Campos do tipo <code>Keyword</code> são armazenados e indexados, o que
- significa que eles podem ser pesquisados, bem como apresentados nos resultados
- de busca. Eles não podem ser divididos em palavras separadas através da
- separação por tokens. Campos de dados numerados geralmente os traduzem bem no
- <classname>Zend_Search_Lucene</classname>.
- </para>
- </listitem>
- <listitem>
- <para>
- Campos do tipo <code>UnIndexed</code> não são pesquisáveis, mas são retornados
- junto com os resultados das pesquisas. Timestamps de banco de dados, chaves
- primárias, caminhos do sistema de arquivos, e outros identificadores externos
- são bons candidatos para estes campos.
- </para>
- </listitem>
- <listitem>
- <para>
- Campos do tipo <code>Binary</code> não são separados em tokens nem indexados, mas
- são armazenados para serem retornados em resultados de pesquisas. Eles podem ser
- usados para armazenar qualquer tipo de dado que possa ser codificados em uma
- string binária, por exemplo, um ícone.
- </para>
- </listitem>
- <listitem>
- <para>
- Campos do tipo <code>Text</code> são armazenados, indexados e separados em
- tokens. Campos text são apropriados para conter informações que devam ser
- pesquisadas, bem como retornadas por uma pesquisa, tais como descrições e
- títulos.
- </para>
- </listitem>
- <listitem>
- <para>
- Campos do tipo <code>UnStored</code> são separados em tokens e indexados, mas
- não são armazenados no índice. Grandes quantidades de texto são melhor indexadas
- utilizando este tipo de campo. Dados armazenados criam um extenso índice no
- disco, então se você necessitar pesquisar sem exibir estes dados, utilize um
- campo UnStored. Campos UnStored são úteis quando utilizamos um índice
- <classname>Zend_Search_Lucene</classname> em combinação com um banco de dados
- relacional. Você pode indexar campos contendo dados volumosos usando campos
- UnStored para pesquisa, e recuperá-los a partir de um banco de dados relacional
- usando campos separados como identificadores.
- </para>
- <table id="zend.search.lucene.index-creation.understanding-field-types.table">
- <title>Tipos de Zend_Search_Lucene_Field</title>
- <tgroup cols="5">
- <thead>
- <row>
- <entry>Tipo de Campo</entry>
- <entry>Armazenado</entry>
- <entry>Indexado</entry>
- <entry>Separado em Tokens</entry>
- <entry>Binário</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Keyword</entry>
- <entry>Sim</entry>
- <entry>Sim</entry>
- <entry>Não</entry>
- <entry>Não</entry>
- </row>
- <row>
- <entry>UnIndexed</entry>
- <entry>Sim</entry>
- <entry>Não</entry>
- <entry>Não</entry>
- <entry>Não</entry>
- </row>
- <row>
- <entry>Binary</entry>
- <entry>Sim</entry>
- <entry>Não</entry>
- <entry>Não</entry>
- <entry>Sim</entry>
- </row>
- <row>
- <entry>Text</entry>
- <entry>Sim</entry>
- <entry>Sim</entry>
- <entry>Sim</entry>
- <entry>Não</entry>
- </row>
- <row>
- <entry>UnStored</entry>
- <entry>Não</entry>
- <entry>Sim</entry>
- <entry>Sim</entry>
- <entry>Não</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.html-documents">
- <title>Documentos HTML</title>
- <para>
- <classname>Zend_Search_Lucene</classname> oferece um recurso para análise de
- <acronym>HTML</acronym>. Os documentos podem ser criados diretamente a partir de um
- arquivo ou string <acronym>HTML</acronym>:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Html::loadHTMLFile($filename);
- $index->addDocument($doc);
- ...
- $doc = Zend_Search_Lucene_Document_Html::loadHTML($htmlString);
- $index->addDocument($doc);
- ]]></programlisting>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Html</classname> utiliza os métodos
- <methodname>DOMDocument::loadHTML()</methodname> e
- <methodname>DOMDocument::loadHTMLFile()</methodname> para analisar o código
- <acronym>HTML</acronym>, por isso não precisa de <acronym>HTML</acronym> bem formatado
- ou de <acronym>XHTML</acronym>. Por outro lado, é dependente da codificação especificada
- pela tag de cabeçalho "meta http-equiv".
- </para>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Html</classname> reconhece o título do
- documento, o corpo e as meta tags do cabeçalho.
- </para>
- <para>
- O campo 'title' é na verdade o valor /html/head/title. É armazenado no índice, separado
- em tokens e disponibilizado para pesquisa.
- </para>
- <para>
- O campo 'body' é o próprio conteúdo corpo do arquivo ou string <acronym>HTML</acronym>.
- Não inclui os scripts, comentários ou atributos.
- </para>
- <para>
- Os métodos <methodname>loadHTML()</methodname> e
- <methodname>loadHTMLFile()</methodname> da classe
- <classname>Zend_Search_Lucene_Document_Html</classname> também possuem um segundo
- argumento opcional. Se for definido como <constant>TRUE</constant>, o conteúdo do corpo
- é também armazenado no índice e pode ser recuperado a partir do índice. Por padrão, o
- corpo é separado em tokens e indexado, mas não armazenado.
- </para>
- <para>
- O terceiro parâmetro dos métodos <methodname>loadHTML()</methodname> e
- <methodname>loadHTMLFile()</methodname> especifica opcionalmente a codificação do
- código no documento <acronym>HTML</acronym>. É utilizado quando a codificação não é
- especificada usando a meta tag Content-type HTTP-EQUIV.
- </para>
- <para>
- Outras meta tags do cabeçalho no documento produzem campos de documentos adicionais. O
- campo 'name' é tirado do atributo 'name', e o atributo o 'content' preenche o campo
- 'value'. Ambos são separados em tokens, indexados e armazenados, então os documentos
- podem ser procurados pelas suas meta tags (por exemplo, por palavras-chave).
- </para>
- <para>
- Qualquer outro campo pode ser acrescentado pelo programador em documentos analisados:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Html::loadHTML($htmlString);
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed('created',
- time()));
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed('updated',
- time()));
- $doc->addField(Zend_Search_Lucene_Field::Text('annotation',
- 'Document annotation text'));
- $index->addDocument($doc);
- ]]></programlisting>
- <para>
- Links nos documentos não estão incluídos no documento gerado,
- mas podem ser recuperados através dos métodos
- <methodname>Zend_Search_Lucene_Document_Html::getLinks()</methodname> e
- <methodname>Zend_Search_Lucene_Document_Html::getHeaderLinks()</methodname>:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Html::loadHTML($htmlString);
- $linksArray = $doc->getLinks();
- $headerLinksArray = $doc->getHeaderLinks();
- ]]></programlisting>
- <para>
- A partir do Zend Framework 1.6 é possível excluir os links com o atributo
- <code>rel</code> definido como <code>'nofollow'</code>. Utilize
- <methodname>Zend_Search_Lucene_Document_Html::setExcludeNoFollowLinks($true)</methodname>
- para ativar esta opção.
- </para>
- <para>
- O método
- <methodname>Zend_Search_Lucene_Document_Html::getExcludeNoFollowLinks()</methodname>
- retorna o estado atual do marco "Exclude nofollow links".
- </para>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.docx-documents">
- <title>Documentos do Word 2007</title>
- <para>
- <classname>Zend_Search_Lucene</classname> oferece um recurso de análise para Word 2007.
- Os documentos podem ser criados diretamente de um arquivo do Word 2007:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Docx::loadDocxFile($filename);
- $index->addDocument($doc);
- ]]></programlisting>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Docx</classname> utiliza a classe
- <code>ZipArchive</code> e os métodos <code>simplexml</code> para analisar o documento
- de origem. Se a classe <code>ZipArchive</code> (do módulo php_zip) não estiver
- disponível, o <classname>Zend_Search_Lucene_Document_Docx</classname> também não estará
- disponível para ser usado com o Zend Framework.
- </para>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Docx</classname> reconhece os metadados
- e o texto do documento. Metadados consiste, dependendo do conteúdo do documento, de
- nome do arquivo (filename), título (title), assunto (subject), autor (creator),
- palavras-chave (keywords), descrição (description), última modificação por
- (lastModifiedBy), revisão (revision), data da modificação (modified) e data da criação
- (created).
- </para>
- <para>
- O campo 'filename' é o nome do arquivo do Word 2007.
- </para>
- <para>
- O campo 'title' é o título do documento.
- </para>
- <para>
- O campo 'subject' é o assunto do documento.
- </para>
- <para>
- O campo 'creator' é o autor do documento.
- </para>
- <para>
- O campo 'keywords' contém as palavras-chaves do documento.
- </para>
- <para>
- O campo 'description' é a descrição do documento.
- </para>
- <para>
- O campo 'lastModifiedBy' é o nome de quem fez a última modificação no documento.
- </para>
- <para>
- O campo 'revision' é o número da revisão do documento.
- </para>
- <para>
- O campo 'modified' contém a data e hora da última modificação do documento.
- </para>
- <para>
- O campo 'created' contém a data e hora da criação do documento.
- </para>
- <para>
- O campo 'body' é o próprio conteúdo do documento do Word 2007. Ele inclui apenas texto
- normal, comentários e revisões não estão incluídos.
- </para>
- <para>
- O método <methodname>loadDocxFile()</methodname> da classe
- <classname>Zend_Search_Lucene_Document_Docx</classname> também possui um segundo
- argumento opcional. Se for definido como <constant>TRUE</constant>, o conteúdo do corpo
- é também armazenado no índice e pode ser recuperado a partir do índice. Por padrão, o
- corpo é separado em tokens e indexado, mas não armazenado.
- </para>
- <para>
- Qualquer outro campo pode ser acrescentado pelo programador em documentos analisados:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Docx::loadDocxFile($filename);
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed(
- 'indexTime',
- time())
- );
- $doc->addField(Zend_Search_Lucene_Field::Text(
- 'annotation',
- 'Document annotation text')
- );
- $index->addDocument($doc);
- ]]></programlisting>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.pptx-documents">
- <title>Documentos do Powerpoint 2007</title>
- <para>
- <classname>Zend_Search_Lucene</classname> oferece um recurso de análise para Powerpoint
- 2007. Os documentos podem ser criados diretamente de um arquivo do Powerpoint 2007:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Pptx::loadPptxFile($filename);
- $index->addDocument($doc);
- ]]></programlisting>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Pptx</classname> utiliza a classe
- <code>ZipArchive</code> e os métodos <code>simplexml</code> para analisar o documento
- de origem. Se a classe <code>ZipArchive</code> (do módulo php_zip) não estiver
- disponível, o <classname>Zend_Search_Lucene_Document_Pptx</classname> também não estará
- disponível para ser usado com o Zend Framework.
- </para>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Pptx</classname> reconhece os metadados
- e o texto do documento. Metadados consiste, dependendo do conteúdo do documento, de
- nome do arquivo (filename), título (title), assunto (subject), autor (creator),
- palavras-chave (keywords), descrição (description), última modificação por
- (lastModifiedBy), revisão (revision), data da modificação (modified) e data da criação
- (created).
- </para>
- <para>
- O campo 'filename' é o nome do arquivo do Powerpoint 2007.
- </para>
- <para>
- O campo 'title' é o título do documento.
- </para>
- <para>
- O campo 'subject' é o assunto do documento.
- </para>
- <para>
- O campo 'creator' é o autor do documento.
- </para>
- <para>
- O campo 'keywords' contém as palavras-chaves do documento.
- </para>
- <para>
- O campo 'description' é a descrição do documento.
- </para>
- <para>
- O campo 'lastModifiedBy' é o nome de quem fez a última modificação no documento.
- </para>
- <para>
- O campo 'revision' é o número da revisão do documento.
- </para>
- <para>
- O campo 'modified' contém a data e hora da última modificação do documento.
- </para>
- <para>
- O campo 'created' contém a data e hora da criação do documento.
- </para>
- <para>
- O campo 'body' é o conteúdo de todos os slides e notas de slide no documento do
- Powerpoint 2007.
- </para>
- <para>
- O método <methodname>loadPptxFile()</methodname> da classe
- <classname>Zend_Search_Lucene_Document_Pptx</classname> também possui um segundo
- argumento opcional. Se for definido como <constant>TRUE</constant>, o conteúdo do corpo
- é também armazenado no índice e pode ser recuperado a partir do índice. Por padrão, o
- corpo é separado em tokens e indexado, mas não armazenado.
- </para>
- <para>
- Qualquer outro campo pode ser acrescentado pelo programador em documentos analisados:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Pptx::loadPptxFile($filename);
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed(
- 'indexTime',
- time()));
- $doc->addField(Zend_Search_Lucene_Field::Text(
- 'annotation',
- 'Document annotation text'));
- $index->addDocument($doc);
- ]]></programlisting>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.xlsx-documents">
- <title>Documentos do Excel 2007</title>
- <para>
- <classname>Zend_Search_Lucene</classname> oferece um recurso de análise para Excel 2007.
- Os documentos podem ser criados diretamente de um arquivo do Excel 2007:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Xlsx::loadXlsxFile($filename);
- $index->addDocument($doc);
- ]]></programlisting>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Xlsx</classname> utiliza a classe
- <code>ZipArchive</code> e os métodos <code>simplexml</code> para analisar o documento
- de origem. Se a classe <code>ZipArchive</code> (do módulo php_zip) não estiver
- disponível, o <classname>Zend_Search_Lucene_Document_Xlsx</classname> também não estará
- disponível para ser usado com o Zend Framework.
- </para>
- <para>
- A classe <classname>Zend_Search_Lucene_Document_Xlsx</classname> reconhece os metadados
- e o texto do documento. Metadados consiste, dependendo do conteúdo do documento, de
- nome do arquivo (filename), título (title), assunto (subject), autor (creator),
- palavras-chave (keywords), descrição (description), última modificação por
- (lastModifiedBy), revisão (revision), data da modificação (modified) e data da criação
- (created).
- </para>
- <para>
- O campo 'filename' é o nome do arquivo do Excel 2007.
- </para>
- <para>
- O campo 'title' é o título do documento.
- </para>
- <para>
- O campo 'subject' é o assunto do documento.
- </para>
- <para>
- O campo 'creator' é o autor do documento.
- </para>
- <para>
- O campo 'keywords' contém as palavras-chaves do documento.
- </para>
- <para>
- O campo 'description' é a descrição do documento.
- </para>
- <para>
- O campo 'lastModifiedBy' é o nome de quem fez a última modificação no documento.
- </para>
- <para>
- O campo 'revision' é o número da revisão do documento.
- </para>
- <para>
- O campo 'modified' contém a data e hora da última modificação do documento.
- </para>
- <para>
- O campo 'created' contém a data e hora da criação do documento.
- </para>
- <para>
- O campo 'body' é o conteúdo de todas as células em todas as planilhas do documento do
- Excel 2007.
- </para>
- <para>
- O método <methodname>loadXlsxFile()</methodname> da classe
- <classname>Zend_Search_Lucene_Document_Xlsx</classname> também possui um segundo
- argumento opcional. Se for definido como <constant>TRUE</constant>, o conteúdo do corpo
- é também armazenado no índice e pode ser recuperado a partir do índice. Por padrão, o
- corpo é separado em tokens e indexado, mas não armazenado.
- </para>
- <para>
- Qualquer outro campo pode ser acrescentado pelo programador em documentos analisados:
- </para>
- <programlisting language="php"><![CDATA[
- $doc = Zend_Search_Lucene_Document_Xlsx::loadXlsxFile($filename);
- $doc->addField(Zend_Search_Lucene_Field::UnIndexed(
- 'indexTime',
- time()));
- $doc->addField(Zend_Search_Lucene_Field::Text(
- 'annotation',
- 'Document annotation text'));
- $index->addDocument($doc);
- ]]></programlisting>
- </sect2>
- </sect1>
|