Solr - Indexação e Busca com ferramenta Open Source

4.674 visualizações

Publicada em

Solr - Indexação e Busca com ferramenta Open Source

Publicada em: Tecnologia, Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.674
No SlideShare
0
A partir de incorporações
0
Número de incorporações
18
Ações
Compartilhamentos
0
Downloads
64
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Field Analysis: Semelhante as 'stop words' do Autonomy, retira preposições e palavras comuns que não trazem relevância ao conteúdo 'digerido'.
  • Solr - Indexação e Busca com ferramenta Open Source

    1. 1. Ifactory Solutions©2009 Solr Marcelo Rodrigues
    2. 2. Ifactory Solutions ©2009 Introdução • Projeto Apache Lucene • Indexação e busca de alta performance • Spell checking, hit highlighting, etc.
    3. 3. Ifactory Solutions ©2009 Instalação & Configuração • Instalação simples (acompanha Jetty ou Tomcat embedded) • Arquivos de configuração principais (~/solr/conf) – schema.xml: Onde são definidos os tipos de dados que serão usados, existem muitos tipos disponíveis OOTB • String - solr.StrField • Int - solr.TrieIntField • Boolean - solr.BoolField * Class names starting with "solr" refer to java classes in the org.apache.solr.analysis package. – solrconfig.xml: Descreve como os usuários devem interagir com os dados indexados. Parâmetros de indexação, atualização, queries, caching e etc.
    4. 4. Ifactory Solutions ©2009 Painel de administração • LucidWorks/Start.sh
    5. 5. Ifactory Solutions ©2009 Conceitos • O Solr basicamente recebe dados (indexing, updating) e fornece dados de acordo com a consulta (querying). • Unidade básica de informação = Documento • 1.000 receitas, como encontrar a que você quer? – Índices! Ex: Ingredientes... – Objetivo -> Responder perguntas: “Que refeição asiática que possui laranjas como ingrediente é preparada em menos De 30 minutos?” * Este 'field' deve ser definido no schema.xml – Field Type • Ingrediente: String • Tempo de preparo: date/time
    6. 6. Ifactory Solutions ©2009 Conceitos • UniqueKey – Para documentos que possuem chaves primárias • Default Search Field – Caso nenhum 'field' seja especificado na query • Default operator – Busca elementos que atendem exatamente os critérias da query (AND) ou apenas parcialmente (OR) • Copy Field - Cria uma cópia de um 'field' caso seja necessário <schema> <types> <fields> <uniqueKey> <defaultSearchField> <solrQueryParser defaultOperator> <copyField> </schema>
    7. 7. Ifactory Solutions ©2009 Conceitos • Analyzer – Cria um stream de tokens, processa o texto de um tipo de campo. <fieldType name="nametext" class="solr.TextField"> <analyzer class="org.apache.lucene.analysis.WhitespaceAnalyzer"/> </fieldType> * O processo de análise ocorre na indexação e na consulta. • Tokenizer – Dividem o stream em tokens (unidades léxicas) • Filter – Processa tokens para formar novos streams de tokens. Ex: 2 Tokens, “Rio”,”Janeiro” = “RJ” <fieldType name="nametext" class="solr.TextField"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StandardFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.EnglishPorterFilterFactory"/> </analyzer> </fieldType> * Este último filter usa Word Stemming (achar palavras semelhantes. ex: “hugging” > “hugged”)
    8. 8. Ifactory Solutions ©2009 Indexando • Solr pode indexar: – XML – CSV (dados separados por vírgula) – Informações recuperadas de Bancos de Dados – Arquivos comuns como: MS Word e PDF • Como indexar: – Framework Solr Cell – Enviar arquivos XML em requisições HTTP – APIs Java (ex: SolrJ) * Também é possível indexar arquivos com a ferramenta curl (Custom URL) do Solr e através do comando 'wget' (unix).
    9. 9. Ifactory Solutions ©2009 Na prática - SolrJ • Indexando 2 documentos
    10. 10. Ifactory Solutions ©2009 Na prática - SolrJ • Dependências
    11. 11. Ifactory Solutions ©2009 Na prática - SolrJ • Criando query para recuperar documento
    12. 12. Ifactory Solutions ©2009 Na prática - SolrJ • Consulta do painel de Admin
    13. 13. Ifactory Solutions ©2009 Na prática - SolrJ • Resultado em XML
    14. 14. Ifactory Solutions ©2009 Na prática - SolrJ • Procurando Queijos cujo preço está acima de $ 20 •* Código comentado mostra como remover objetos do banco de dados de busca
    15. 15. Ifactory Solutions ©2009 Logging - SolrJ Níveis de prioridade: [FINEST, FINE, CONFIG, INFO, WARNING, SEVERE] INFO: [] webapp=/solr path=/select params={q=name:wheel&version=1&wt=javabin} hits=1 status=0 QTime=2 FINE: solrconfig.xml admin/defaultQuery/text()=solr * Repare que o LOG LEVEL selecionado é replicado para os outros pacotes de acordo com a hierarquia.
    16. 16. Ifactory Solutions ©2009 Na prática - SolrJ • Resultado em XML

    ×