configuraçãoção do solr

16
Apache Solr

Upload: carlos-magno

Post on 04-Jan-2016

30 views

Category:

Documents


15 download

DESCRIPTION

configuração do solr

TRANSCRIPT

Page 1: Configuraçãoção Do Solr

Apache Solr

Page 2: Configuraçãoção Do Solr

O que é Solr?

É uma robusta ferramenta de busca corporativa de código aberto baseada no Apache Lucene.

Page 3: Configuraçãoção Do Solr

Configuração do Solr

Page 4: Configuraçãoção Do Solr

Configuração do Solr

Para criar um novo Core é necessário criar uma nova pasta no diretório apache-solr/solr com o nome desejado sem caracteres especiais ou espaço.

Ex.: apache-solr/solr/diariooficial

Para a pasta diariooficial, criar subpastas conf, data

conf: pasta de configuração do core data: pasta onde são armazenados

as informações de indexação

Page 5: Configuraçãoção Do Solr

Configuração do Solr

Na pasta conf deve conter pelo menos dois arquivos: schema.xml, solrconfig.xml. Ambos arquivos são essenciais para configuração do Solr.

schema.xml: o modelo de dados, neste determinamos: os tipo de dados de campos, os campos utilizados, chaves, obrigatoriedade, manerira de como os dados serão indexados.

solrconfig.xml: neste determinamos: a localização do diretório de dados (pasta data), parâmetros de cache, gestores de solicitações e componentes de pesquisa.

Page 6: Configuraçãoção Do Solr

schema.xml<?xml version="1.0" encoding="UTF-8" ?><schema name="diario-oficial" version="1.5"> <types> <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> ... </types> <fields> <field name="id" type="string" indexed="true" stored="true" required="true" /> <field name="name" type="textgen" indexed="true" stored="true"/> ... </fields><schema/>

Page 7: Configuraçãoção Do Solr

schema.xmlPara configurar um esquema é recomendado copiar um schema.xml padrão de exemplo do Solr (exemplo: apache-solr\example-DIH\solr\solr\conf\schema.xml), assim teremos as definições de tipos básicos pré-moldadas e bem documentados. Com o arquivo base podemos adequar as necessidades do core.

fieldType

A definição básica de uma fieldType pode conter: name: nome dado ao fieldType (obrigatório) class: nome da classe que implementa o fieldType (obrigatório) Propriedades do fieldType definidos pela class - dependendo da

classe de implementação, algumas propriedades podem ser obrigatória.

Se o tipo de campo é TextField, definir a descrição da análise de campo.

Page 8: Configuraçãoção Do Solr

schema.xml fieldType

<!-- Portuguese --><fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.BrazilianLightStemFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="false"/> <filter class="solr.StopFilterFactory" words="stopwords_pt.txt" ignoreCase="true"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.BrazilianLightStemFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="false"/> <filter class="solr.StopFilterFactory" words="stopwords_pt.txt" ignoreCase="true"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms_pt.txt" ignoreCase="true" expand="true"/> </analyzer></fieldType>

Page 9: Configuraçãoção Do Solr

schema.xml fieldType

<!-- Portuguese --> : Comentário de código

<analyzer type="index"> : Como a informação é armazenada

<analyzer type="query"> : Como a informação será buscada

tokenizer : como as palavras serão quebradas para indexação. Apenas um tokenizer pode ser definido por analyzer (Link documentação)

filter : filtro a serem aplicados aos termos.

<tokenizer class="solr.StandardTokenizerFactory"/>Esse tokenizer trata espaços em branco e pontuação como delimitadores

<filter class="solr.LowerCaseFilterFactory"/>Os termos ficam em caixa baixa (minúsculo)

<filter class="solr.BrazilianLightStemFilterFactory"/>Utilizar radical dos termos. (Ex.: cert-o, cert-eza, in-cert-eza)

Page 10: Configuraçãoção Do Solr

schema.xml fieldType

<filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="false"/>Termos em ASCII, ignorando assim acentuações e caracteres especiais

<filter class="solr.StopFilterFactory" words="stopwords_pt.txt" ignoreCase="true"/>Ignorar palavras determinadas no arquivo stopwords_pt.txt (preposição, artigos, …)

<filter class="solr.SynonymFilterFactory" synonyms="synonyms_pt.txt" ignoreCase="true"O filtro de sinônimos foi adicionado apenas para o analyzer de tipo query, devido a não

haver a necessidade de indexar sinônimos. Na busca será incrementada palavras sinônimos informadas no arquivo synonymos_pt.txt

Os arquivos “stopwords_pt.txt” e “synonyms_pt.txt” devem ser adicionados na pasta conf.

Page 11: Configuraçãoção Do Solr

schema.xml field

São as definições das informações a serem indexas/armazenadas. Ex.:<field name="price" type="float" default="0.0" indexed="true" stored="true"/>

Parâmentros: name: O nome do campo. Este deve apresentar caracteres alfanuméricos e/ou underscore e

não deve iniciar com número. type: nome do fieldType associados a esse field default: valor padrão indexed: determina se o field será indexado, permitindo poder ser usado em consultas para

recuperar documentos correspondentes stored: o valor do campo pode ser recuperado em consulta sortMissingFirst / sortMissingLast: ordenação de documentos por field multiValued: indica que um único documento pode conter vários valores para esse tipo de

campo termVectors / termPositions / termOffsets / termPayloads: instrui o Solr a manter a

informações (posição, deslocamento, ocorrência) dos termos para cada documento. Estes podem ser utilizados acelerar o realce de termos buscados na exibição de documentos.

required: determina obrigatoriedade do field

Page 12: Configuraçãoção Do Solr

solrconfig.xmlPara configurar um esquema é recomendado copiar um sorlconfig.xml padrão de exemplo do Solr (exemplo: apache-solr\example-DIH\solr\solr\conf\solrconfig.xml). Neste determinamos a localização do diretório de dados, parâmetros de cache, gestores de solicitações e componentes de pesquisa.

<dataDir>${solr.data.dir:./solr/data}</dataDir>Usado para definir o diretório de armazenamento de dados.

<requestHandler name="standard" class="solr.SearchHandler" default="true"> <lst name="defaults"> <str name="echoParams">explicit</str> <!-- <int name="rows">10</int> <str name="fl">*</str> <str name="version">2.1</str> --> </lst></requestHandler>

Configuração de manipulador responsável por receber a solicitação HTTP, realizar a pesquisa e retornar resposta.

Page 13: Configuraçãoção Do Solr

solrconfig.xmlPara carregar documentos binários e / ou estruturados, como o Office, Word, PDF e outros formatos proprietários; e utilizado o Apache Tika, que fornece uma estrutura para envolver muitos analisadores de formato de arquivo diferentes.

ExtractingRequestHandler do Solr usa Tika para permitir aos usuários fazer upload de arquivos binários para Solr e ter texto extraído dele e, em seguida, indexá-lo.

<requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults"> <str name="lowernames">true</str> <str name="uprefix">ignored_</str> <str name="fmap.Last-Modified">last_modified</str>

<!-- capture link hrefs but ignore div attributes --> <str name="captureAttr">true</str> <str name="fmap.a">links</str> <str name="fmap.div">ignored_</str> </lst> </requestHandler>

Page 14: Configuraçãoção Do Solr

Criando o CorePara criar o Core, deve ser acessado o módulo administrativo do Solr (http://[servidor]:[porta]/solr)

Page 15: Configuraçãoção Do Solr

Criando o CoreAcesse “Core Admin” ¹, clique em “Add Core” ², informe os “parâmetros” ³ e clique em “Add Core” 4

Page 16: Configuraçãoção Do Solr

Consultando dados