SlideShare una empresa de Scribd logo
1 de 16
Ifactory Solutions©2009
Solr
Marcelo Rodrigues
Ifactory Solutions ©2009
Introdução
• Projeto Apache Lucene
• Indexação e busca de alta performance
• Spell checking, hit highlighting, etc.
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.
Ifactory Solutions ©2009
Painel de administração
• LucidWorks/Start.sh
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
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>
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”)
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).
Ifactory Solutions ©2009
Na prática - SolrJ
• Indexando 2 documentos
Ifactory Solutions ©2009
Na prática - SolrJ
• Dependências
Ifactory Solutions ©2009
Na prática - SolrJ
• Criando query para recuperar documento
Ifactory Solutions ©2009
Na prática - SolrJ
• Consulta do painel de Admin
Ifactory Solutions ©2009
Na prática - SolrJ
• Resultado em XML
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
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.
Ifactory Solutions ©2009
Na prática - SolrJ
• Resultado em XML

Más contenido relacionado

La actualidad más candente

Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaArvind Kumar G.S
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusGrafana Labs
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...StreamNative
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!Juliano Atanazio
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With PrometheusKnoldus Inc.
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Ryan Cuprak
 
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best PracticesAmazon Web Services
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache SolrChristos Manios
 
Prometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemPrometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemFabian Reinartz
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Guido Schmutz
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...HostedbyConfluent
 
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Brian Brazil
 
Hadoop Query Performance Smackdown
Hadoop Query Performance SmackdownHadoop Query Performance Smackdown
Hadoop Query Performance SmackdownDataWorks Summit
 
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar ZecevicDataScienceConferenc1
 
Tuning and Debugging in Apache Spark
Tuning and Debugging in Apache SparkTuning and Debugging in Apache Spark
Tuning and Debugging in Apache SparkPatrick Wendell
 

La actualidad más candente (20)

Qtest tutorial
Qtest tutorialQtest tutorial
Qtest tutorial
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
 
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With Prometheus
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
 
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
 
Elk
Elk Elk
Elk
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Cloud Monitoring tool Grafana
Cloud Monitoring  tool Grafana Cloud Monitoring  tool Grafana
Cloud Monitoring tool Grafana
 
Prometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemPrometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring System
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
 
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
 
Hadoop Query Performance Smackdown
Hadoop Query Performance SmackdownHadoop Query Performance Smackdown
Hadoop Query Performance Smackdown
 
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
 
Tuning and Debugging in Apache Spark
Tuning and Debugging in Apache SparkTuning and Debugging in Apache Spark
Tuning and Debugging in Apache Spark
 

Destacado

Introdução ao Solr e Faceted Search
Introdução ao Solr e Faceted SearchIntrodução ao Solr e Faceted Search
Introdução ao Solr e Faceted SearchMichel Bottan
 
Apresentação - Solr, o cara!
Apresentação - Solr, o cara!Apresentação - Solr, o cara!
Apresentação - Solr, o cara!flavioesio
 
Link analysis - Análise de Links
Link analysis - Análise de LinksLink analysis - Análise de Links
Link analysis - Análise de LinksAndré Luis Schwerz
 
Reforma da Lei de Direitos Autorais
Reforma da Lei de Direitos AutoraisReforma da Lei de Direitos Autorais
Reforma da Lei de Direitos AutoraisAndré Luis Schwerz
 
Pesquisando bilhões de documentos em milésimos de segundo
Pesquisando bilhões de documentos em milésimos de segundoPesquisando bilhões de documentos em milésimos de segundo
Pesquisando bilhões de documentos em milésimos de segundoHermano Soares
 
Buscas Poderosas Com Solr
Buscas Poderosas Com SolrBuscas Poderosas Com Solr
Buscas Poderosas Com Solralmeidaricardo
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchPaulo César M Jeveaux
 
Extração de informações de texto e cálculo de similaridade usando Apache Lucene
Extração de informações de texto e cálculo de similaridade usando Apache LuceneExtração de informações de texto e cálculo de similaridade usando Apache Lucene
Extração de informações de texto e cálculo de similaridade usando Apache LuceneAndré Luis Schwerz
 

Destacado (8)

Introdução ao Solr e Faceted Search
Introdução ao Solr e Faceted SearchIntrodução ao Solr e Faceted Search
Introdução ao Solr e Faceted Search
 
Apresentação - Solr, o cara!
Apresentação - Solr, o cara!Apresentação - Solr, o cara!
Apresentação - Solr, o cara!
 
Link analysis - Análise de Links
Link analysis - Análise de LinksLink analysis - Análise de Links
Link analysis - Análise de Links
 
Reforma da Lei de Direitos Autorais
Reforma da Lei de Direitos AutoraisReforma da Lei de Direitos Autorais
Reforma da Lei de Direitos Autorais
 
Pesquisando bilhões de documentos em milésimos de segundo
Pesquisando bilhões de documentos em milésimos de segundoPesquisando bilhões de documentos em milésimos de segundo
Pesquisando bilhões de documentos em milésimos de segundo
 
Buscas Poderosas Com Solr
Buscas Poderosas Com SolrBuscas Poderosas Com Solr
Buscas Poderosas Com Solr
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
 
Extração de informações de texto e cálculo de similaridade usando Apache Lucene
Extração de informações de texto e cálculo de similaridade usando Apache LuceneExtração de informações de texto e cálculo de similaridade usando Apache Lucene
Extração de informações de texto e cálculo de similaridade usando Apache Lucene
 

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

Diapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdfDiapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdfJ0071
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - BrazilStephen Chin
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxAuditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxSQLServerRS
 
SAPO Broker
SAPO BrokerSAPO Broker
SAPO Brokercodebits
 
Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ Francke Peixoto
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EEUso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EEMarco Antonio Maciel
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09Felipe Ribeiro
 
SisBib - Library Control System - January 2005
SisBib - Library Control System - January 2005SisBib - Library Control System - January 2005
SisBib - Library Control System - January 2005Michel Alves
 
Introdução a Big Data e Apache Solr
Introdução a Big Data e Apache SolrIntrodução a Big Data e Apache Solr
Introdução a Big Data e Apache SolrJuliano Martins
 

Similar a Solr - Indexação e Busca com ferramenta Open Source (20)

Presentation
PresentationPresentation
Presentation
 
Ferramentas open-source
Ferramentas open-sourceFerramentas open-source
Ferramentas open-source
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
Diapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdfDiapositivos práticos - Integração de Sistemas.pdf
Diapositivos práticos - Integração de Sistemas.pdf
 
Tag Libraries e JSTL
Tag Libraries e JSTLTag Libraries e JSTL
Tag Libraries e JSTL
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Web App Flaws - SQL Injection
Web App Flaws - SQL InjectionWeb App Flaws - SQL Injection
Web App Flaws - SQL Injection
 
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_soxAuditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
Auditoria de banco_de_dados_sql_server_em_conformidade_com_a_sox
 
VIII TechTalk - Spring 3
VIII TechTalk - Spring 3VIII TechTalk - Spring 3
VIII TechTalk - Spring 3
 
SAPO Broker
SAPO BrokerSAPO Broker
SAPO Broker
 
Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EEUso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
 
Orm android
Orm androidOrm android
Orm android
 
Java20141218 19
Java20141218 19Java20141218 19
Java20141218 19
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09
 
SisBib - Library Control System - January 2005
SisBib - Library Control System - January 2005SisBib - Library Control System - January 2005
SisBib - Library Control System - January 2005
 
Introdução a Big Data e Apache Solr
Introdução a Big Data e Apache SolrIntrodução a Big Data e Apache Solr
Introdução a Big Data e Apache Solr
 

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

  • 2. Ifactory Solutions ©2009 Introdução • Projeto Apache Lucene • Indexação e busca de alta performance • Spell checking, hit highlighting, etc.
  • 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. Ifactory Solutions ©2009 Painel de administração • LucidWorks/Start.sh
  • 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. 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. 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. 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. Ifactory Solutions ©2009 Na prática - SolrJ • Indexando 2 documentos
  • 10. Ifactory Solutions ©2009 Na prática - SolrJ • Dependências
  • 11. Ifactory Solutions ©2009 Na prática - SolrJ • Criando query para recuperar documento
  • 12. Ifactory Solutions ©2009 Na prática - SolrJ • Consulta do painel de Admin
  • 13. Ifactory Solutions ©2009 Na prática - SolrJ • Resultado em XML
  • 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. 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. Ifactory Solutions ©2009 Na prática - SolrJ • Resultado em XML

Notas del editor

  1. Field Analysis: Semelhante as &amp;apos;stop words&amp;apos; do Autonomy, retira preposições e palavras comuns que não trazem relevância ao conteúdo &amp;apos;digerido&amp;apos;.