SlideShare une entreprise Scribd logo
1  sur  43
Apache Solr
¿Quiénes Somos? Expertos  en sistemas de búsqueda, repositorios digitales y recomendación . Referencia Relevante : 24Symbols, BBVA o Biblioteca Nacional.
www.openandsearch.com
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿Qué es Apache Solr? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Componentes Principales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Instalando Apache Solr:  Requisitos ,[object Object],[object Object],[object Object]
Instalando Apache Solr:  Despliegue ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configurando Apache Solr:  Ficheros ,[object Object],[object Object],[object Object],[object Object]
Configurando Apache Solr:  solr . xml < solr   persistent =&quot;true&quot;  sharedLib =&quot;lib&quot;>       < cores   adminPath =&quot;/admin/cores&quot;>            < core   name =&quot;pdg&quot;  instanceDir =&quot;/etc/solr/cores/pdg&quot; />            <core name=&quot;geoeuskadi&quot; instanceDir=&quot;/etc/solr/geoeuskadi&quot; />            <core name=&quot;24symbols&quot; instanceDir=&quot;/etc/solr/24symbols&quot; />            <core name=&quot;cmt&quot; instanceDir=&quot;/etc/cores/cmt&quot; />            <core name=&quot;disofic&quot; instanceDir=&quot;/etc/solr/disofic&quot; />            <core name=&quot;cdl&quot; instanceDir=&quot;/etc/solr/cdl&quot; />            <core name=&quot;24sac&quot; instanceDir=&quot;/etc/solr/24symbolsac&quot; />       </cores> </solr>
Configurando Apache Solr:  schema.xml < schema  name=&quot;opensearch&quot; version=&quot;1.1&quot;>    < types >      <fieldType name=&quot;string&quot; class=&quot;solr.StrField&quot;  sortMissingLast =&quot;true&quot;  omitNorms =&quot;true&quot;/>      < fieldType  name=&quot;text&quot; class=&quot;solr.TextField&quot;  positionIncrementGap =&quot;100&quot;>        < analyzer  type=&quot; index &quot;>          < tokenizer  class=&quot;solr.HTMLStripStandardTokenizerFactory&quot;/>             < filter  class=&quot;solr.LowerCaseFilterFactory&quot;/>          <filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/>          <filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/>        </analyzer>        <analyzer type=&quot; query &quot;>          < tokenizer  class=&quot;solr.StandardTokenizerFactory&quot;/>          < filter  class=&quot;solr.LowerCaseFilterFactory&quot;/>          <filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/>          <filter class=&quot;solr.SynonymFilterFactory&quot; ignoreCase=&quot;true&quot; synonyms=&quot;synonyms.txt&quot;/>          <filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/>        </analyzer>      </fieldType>    </types>    < fields >   < field  name=&quot;id&quot;  type =&quot;string&quot;  stored =&quot;true&quot;  indexed =&quot;true&quot;/>   <field name=&quot;docName&quot; type=&quot;text&quot; stored=&quot;true&quot; indexed=&quot;true&quot;/>               < dynamicField  name=&quot; fecha* &quot; type=&quot;date&quot;  indexed=&quot;true&quot;  stored=&quot;true&quot;/>                <field name=&quot;buscable&quot; type=&quot;text&quot; stored=&quot;false&quot; indexed=&quot;true&quot;  multiValued =&quot;true&quot;  positionIncrementGap =&quot;50&quot;/>    </fields>    < copyField  source=&quot;docName&quot; dest=&quot;buscable&quot;/>    < uniqueKey >id</uniqueKey>    < defaultSearchField >buscable</defaultSearchField>    < solrQueryParser  defaultOperator=&quot;AND&quot;/> </schema>
Configurando Apache Solr:  schema.xml ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configurando Apache Solr:  schema.xml ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configurando Apache Solr:  solrconfig.xml Propiedades del índice < dataDir >/var/solr/data</dataDir> < indexDefaults >              <!--  Values here affect all index writers and act as a default unless overridden.  ->             < useCompoundFile >false</useCompoundFile>             < mergeFactor >10</mergeFactor>             <!--  If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.   --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!--  Sets the amount of RAM that may be used by Lucene indexing for buffering added documents and deletions before they are flushed to the Directory.   --> < ramBufferSizeMB >32</ramBufferSizeMB> <!--  <maxMergeDocs>2147483647</maxMergeDocs>  --> < maxFieldLength >10000</maxFieldLength> < writeLockTimeout >1000</writeLockTimeout> < commitLockTimeout >10000</commitLockTimeout> < lockType >native</lockType> </indexDefaults> < mainIndex > < useCompoundFile >false</useCompoundFile> < ramBufferSizeMB >32</ramBufferSizeMB>   < mergeFactor >10</mergeFactor> </mainIndex>
Configurando Apache Solr:  solrconfig.xml    Configuración de consulta < query >          < maxBooleanClauses >1024</maxBooleanClauses>          < filterCache  class=&quot;solr.FastLRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < queryResultCache  class=&quot;solr.LRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < documentCache  class=&quot;solr.LRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < enableLazyFieldLoading >true</enableLazyFieldLoading>          <cache name=&quot;myUserCache&quot; class=&quot;solr.LRUCache&quot; size=&quot;4096&quot; initialSize=&quot;1024&quot;                       autowarmCount=&quot;1024&quot; regenerator=&quot;org.mycompany.mypackage.MyRegenerator&quot; />          < queryResultWindowSize >20</queryResultWindowSize>          < queryResultMaxDocsCached >200</queryResultMaxDocsCached>          < listener  event=&quot; newSearcher &quot; class=&quot;solr.QuerySenderListener&quot;>              <arr name=&quot;queries&quot;>                  <!-- <lst> <str name=&quot;q&quot;>solr</str> <str name=&quot;rows&quot;>10</str> </lst> -->             </arr>          </listener>          < useColdSearcher >false</useColdSearcher>          < maxWarmingSearchers >2</maxWarmingSearchers> </query>
Configurando Apache Solr:  solrconfig.xml Configuración de los RequestHandlers          < requestHandler  name=&quot; /spell &quot; class=&quot;solr.SearchHandler&quot; lazy=&quot;true&quot;>                < lst  name=&quot;defaults&quot;>                     <!-- omp = Only More Popular -->                    < str   name =&quot;spellcheck.onlyMorePopular&quot;> false </str>                     <!-- exr = Extended Results -->                    <str name=&quot;spellcheck.extendedResults&quot;>false</str>                     <!--  The number of suggestions to return -->                    <str name=&quot;spellcheck.count&quot;>1</str>                </lst>                < arr  name=&quot; last-components &quot;>                    <str> spellcheck </str>                </arr>          </requestHandler>          < searchComponent  name=&quot; spellcheck &quot; class=&quot;solr.SpellCheckComponent&quot;>              <str name=&quot;queryAnalyzerFieldType&quot;>textSpell</str>              <lst name=&quot;spellchecker&quot;>                    <str name=&quot;name&quot;>default</str>                    <str name=&quot;field&quot;>name</str>                    <str name=&quot;spellcheckIndexDir&quot;>./spellchecker</str>              </lst>            </searchComponent>
Modificando el índice:  indexación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modificando el índice:  indexación      Formato de XML de indexación   <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>   < add >                   < doc >                         < field   name =&quot;identificador&quot;>http://url.cualquiera.com/webclient/</field>                         <field name=&quot; pid &quot;> 1865905 </field>                         <field name=&quot;thumbnail&quot;>http://url.cualquiera.com/webclient/Delivery</field>                        <field name=&quot;autor&quot;>Castro, Adolfo de 1823-1898 </field>                        <field name=&quot;autor_facet&quot;>Castro, Adolfo de</field>                        <field name=&quot;autor_abreviada&quot;>Castro, Adolfo de-1823-1898-</field>                        <field name=&quot;autor_completa&quot;>Castro, Adolfo de-1823-1898-#</field>                        <field name=&quot;titulo&quot;>Cádiz en la Guerra de la Independencia  : cuadro histórico</field>                        <field name=&quot;editor&quot;>Cádiz Revista Médica </field>                        <field name=&quot;materia&quot;>Cádiz Historia S.XIX </field>                         …               </doc>                  ...    </add>
Modificando el índice:  borrado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> < delete >          < id >5c9e2d7e-7114-31cf-8582-56f11cefbcce</id>          <id> d0b58756-8a8b-3de2-8327-55023cbdf16f </id>          <id>4d9cb11a-2e2a-34e5-821d-5c7f77a41f8f</id>          <id>fe722eac-d4cb-30f3-b2b5-b9e72630f523</id>          ... </delete> <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> < delete >     < query > category: &quot;Facturas&quot; </query> </delete> Mediante consulta Mediante IDs
Modificando el índice:  operaciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modificando el índice:  práctica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  básicos curl http://host:8983/opensearch/select/?q=Pilar%20rojo&fl=title,contenttype&start=0&rows=10&wt=xml      < response >       <lst name=&quot; responseHeader &quot;> <int name=&quot; status &quot;>0</int> <int name=&quot; QTime &quot;>293</int> <lst name=&quot; params &quot;> <str name=&quot;wt&quot;>xml</str> <str name=&quot; rows &quot;>10</str> <str name=&quot; start &quot;>0</str> <str name=&quot; q &quot;> Pilar rojo </str> </lst> </lst> < result  name=&quot;response&quot;  numFound =&quot;2894&quot;  start =&quot;0&quot;> <doc>...</doc> <doc>...</doc> <doc>...</doc> < doc > <str name=&quot; contenttype &quot;>text/html; charset=utf-8</str> <str name=&quot; title &quot;> Pilar Rojo  participa nos actos do Xacobeo 2010</str> </doc> <doc>...</doc> <doc>...</doc> </result>      </response>
Consultando el índice:  avanzada ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  faceting
Consultando el índice:  faceting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  faceting <lst name=&quot; facet_counts &quot;> <lst name=&quot; facet_queries &quot;> <int name=&quot;l ocale:&quot;es_ES&quot; &quot;>16684</int> <int name=&quot; locale_americano &quot;>844</int> </lst> <lst name=&quot; facet_fields &quot;> <lst name=&quot; locale &quot;>           <int name=&quot;es_ES&quot;>16684</int>           <int name=&quot;en_US&quot;>844</int>           <int name=&quot;ca_ES&quot;>110</int>           <int name=&quot;eu_ES&quot;>110</int>           <int name=&quot;gl_ES&quot;>110</int> </lst> </lst> <lst name=&quot; facet_dates &quot;> <lst name=&quot; fecha_resolucion &quot;>          <int name=&quot;2007-08-31T16:17:37.304Z&quot;>4</int>          <int name=&quot;2008-08-31T16:17:37.304Z&quot;>41</int>          <int name=&quot;2009-08-31T16:17:37.304Z&quot;>49</int>          <str name=&quot;gap&quot;>+1YEARS</str>          <date name=&quot;end&quot;>2010-08-31T16:17:37.304Z</date> </lst> </lst> </lst>
Consultando el índice:  faceting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  highlighting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  highlighting <lst name=&quot; highlighting &quot;> <lst name=&quot; lp_es_ES2567024 &quot;> <arr name=&quot; titulo &quot;>   <str>La CMT abre  <span class=&quot;highlight&quot;>expediente</span>   sancionador a Proyecto Atarfe</str> </arr> </lst> <lst name=&quot; lp_es_ES2574813 &quot;> <arr name=&quot; asunto &quot;>   <str>ACUERDO PARA LA INSCRIPCIÓN DE AUTORIZACIÓN GENERAL EN EL  <span class=&quot;highlight&quot;>EXPEDIENTE</span>  AUT-001/98 DE</str> </arr> <arr name=&quot; expediente &quot;>   <str> <span class=&quot;highlight&quot;>Expediente</span>  AUT</str> </arr> </lst> <lst name=&quot; lp_es_ES2627601 &quot;> <arr name=&quot; asunto &quot;>   <str>RESOLUCION DEL ARCHIVO DEL  <span class=&quot;highlight&quot;>  EXPEDIENTE</span>  DE LA ENTIDAD GOYA SERVICIOS</str> </arr> </lst> ... </lst>
Consultando el índice:  spellchecking ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consultando el índice:  spellchecking <lst name=&quot; spellcheck &quot;> <lst name=&quot; suggestions &quot;> <lst name=&quot; ipoteca &quot;> <int name=&quot;numFound&quot;>1</int> <int name=&quot;startOffset&quot;>0</int> <int name=&quot;endOffset&quot;>7</int> <arr name=&quot; suggestion &quot;> <str> hipoteca </str> </arr> </lst> <lst name=&quot; vasura &quot;> <int name=&quot;numFound&quot;>1</int> <int name=&quot;startOffset&quot;>8</int> <int name=&quot;endOffset&quot;>14</int> <arr name=&quot; suggestion &quot;> <str> basura </str> </arr> </lst> <str name=&quot; collation &quot;> hipoteca basura </str> </lst> </lst> /select?q= ipoteca%20vasura & spellcheck=true & spellcheck.collate=true & spellcheck.count=1
Análisis personalizado:  CharFilterFactories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análisis personalizado:  tokenizers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análisis personalizado:  analyzer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análisis personalizado:  analyzer <fieldtype name=&quot;teststop&quot; class=&quot;solr.TextField&quot;>     <analyzer>       <tokenizer class=&quot;solr.LowerCaseTokenizerFactory&quot;/>       < filter  class=&quot;solr. StopFilterFactory &quot;  words =&quot; stopwords.txt &quot;  ignoreCase =&quot;true&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;testedgengrams&quot; class=&quot;solr.TextField&quot;>     <analyzer>       <tokenizer class=&quot;solr.LowerCaseTokenizerFactory&quot;/>       < filter  class=&quot;solr. EdgeNGramFilterFactory &quot;  minGramSize =&quot;2&quot;  maxGramSize =&quot;15&quot;  side =&quot;front&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;testkeep&quot; class=&quot;solr.TextField&quot;>     <analyzer>       < filter  class=&quot;solr. KeepWordFilterFactory &quot; words=&quot; keepwords.txt &quot;  ignoreCase =&quot;true&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;syn&quot; class=&quot;solr.TextField&quot;>     <analyzer>         <tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/>         < filter  class=&quot;solr. SynonymFilterFactory &quot;  synonyms =&quot; syn.txt &quot;  ignoreCase =&quot;true&quot;  expand =&quot;false&quot;/>     </analyzer> </fieldtype>
Análisis personalizado:  testing
Clustering:  replicación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Alta Disponibilidad:  replicación
Clustering:  replicación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<requestHandler name=&quot;/replication&quot; class=&quot;solr.ReplicationHandler&quot; > <lst name=&quot; slave &quot;> <!– Configurar aquí la URL del servidor maestro --> <str name=&quot; masterUrl &quot;> http://localhost:8080/solr/replication </str> <str name=&quot; pollInterval &quot;> 00:00:10 </str> </lst> </requestHandler>
Clustering:  sharding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mantenimiento OpenSearch:  operaciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

En vedette

Buscador vertical escalable con Hadoop
Buscador vertical escalable con HadoopBuscador vertical escalable con Hadoop
Buscador vertical escalable con Hadoopdatasalt
 
Webinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionWebinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionLucidworks
 
Webinar: Solr's example/files: From bin/post to /browse and Beyond
Webinar: Solr's example/files: From bin/post to /browse and BeyondWebinar: Solr's example/files: From bin/post to /browse and Beyond
Webinar: Solr's example/files: From bin/post to /browse and BeyondLucidworks
 
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...Lucidworks
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Lucidworks
 
Retrieving Information From Solr
Retrieving Information From SolrRetrieving Information From Solr
Retrieving Information From SolrRamzi Alqrainy
 
Parallel Computing with SolrCloud: Presented by Joel Bernstein, Alfresco
Parallel Computing with SolrCloud: Presented by Joel Bernstein, AlfrescoParallel Computing with SolrCloud: Presented by Joel Bernstein, Alfresco
Parallel Computing with SolrCloud: Presented by Joel Bernstein, AlfrescoLucidworks
 
Scaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and DjangoScaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and Djangotow21
 
Apache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaApache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaDropsolid
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered LuceneErik Hatcher
 
Webinar: Natural Language Search with Solr
Webinar: Natural Language Search with SolrWebinar: Natural Language Search with Solr
Webinar: Natural Language Search with SolrLucidworks
 

En vedette (20)

Formación apache Solr
Formación apache SolrFormación apache Solr
Formación apache Solr
 
Conferencia 2: El esquema
Conferencia 2: El esquemaConferencia 2: El esquema
Conferencia 2: El esquema
 
Conferencia 5: Extendiendo Solr
Conferencia 5: Extendiendo SolrConferencia 5: Extendiendo Solr
Conferencia 5: Extendiendo Solr
 
Seminario Apache Solr
Seminario Apache SolrSeminario Apache Solr
Seminario Apache Solr
 
Conferencia 4: Queries
Conferencia 4: QueriesConferencia 4: Queries
Conferencia 4: Queries
 
Conferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xmlConferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xml
 
Buscador vertical escalable con Hadoop
Buscador vertical escalable con HadoopBuscador vertical escalable con Hadoop
Buscador vertical escalable con Hadoop
 
Webinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with FusionWebinar: Site Search in an Hour with Fusion
Webinar: Site Search in an Hour with Fusion
 
Apache solr
Apache solrApache solr
Apache solr
 
Webinar: Solr's example/files: From bin/post to /browse and Beyond
Webinar: Solr's example/files: From bin/post to /browse and BeyondWebinar: Solr's example/files: From bin/post to /browse and Beyond
Webinar: Solr's example/files: From bin/post to /browse and Beyond
 
Solr5
Solr5Solr5
Solr5
 
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
 
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
Rebuilding Solr 6 Examples - Layer by Layer: Presented by Alexandre Rafalovit...
 
Retrieving Information From Solr
Retrieving Information From SolrRetrieving Information From Solr
Retrieving Information From Solr
 
Parallel Computing with SolrCloud: Presented by Joel Bernstein, Alfresco
Parallel Computing with SolrCloud: Presented by Joel Bernstein, AlfrescoParallel Computing with SolrCloud: Presented by Joel Bernstein, Alfresco
Parallel Computing with SolrCloud: Presented by Joel Bernstein, Alfresco
 
Scaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and DjangoScaling search to a million pages with Solr, Python, and Django
Scaling search to a million pages with Solr, Python, and Django
 
Apache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaApache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 Acquia
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered Lucene
 
Apache Solr
Apache SolrApache Solr
Apache Solr
 
Webinar: Natural Language Search with Solr
Webinar: Natural Language Search with SolrWebinar: Natural Language Search with Solr
Webinar: Natural Language Search with Solr
 

Similaire à Apache Solr guía

Html Y Javascript
Html Y JavascriptHtml Y Javascript
Html Y Javascriptoswchavez
 
Html Y Javascript
Html Y JavascriptHtml Y Javascript
Html Y Javascriptoswchavez
 
Datos y metadatos, de Francisca Hernández Carrascal
Datos y metadatos, de Francisca Hernández CarrascalDatos y metadatos, de Francisca Hernández Carrascal
Datos y metadatos, de Francisca Hernández CarrascalDIGIBIS
 
Datos y metadatos, Francisca Hernández Carrascal
Datos y metadatos, Francisca Hernández CarrascalDatos y metadatos, Francisca Hernández Carrascal
Datos y metadatos, Francisca Hernández Carrascalguestc2d800
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.comoctabio
 
XML en .NET
XML en .NETXML en .NET
XML en .NETbrobelo
 
¿Qué es la Web Semántica?
¿Qué es la Web Semántica?¿Qué es la Web Semántica?
¿Qué es la Web Semántica?inkel
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetMoisés Cid Deza
 

Similaire à Apache Solr guía (20)

Xml On Rails
Xml On RailsXml On Rails
Xml On Rails
 
Plone en La Jornada
Plone en La JornadaPlone en La Jornada
Plone en La Jornada
 
Step by step developing with Facebook PHP API by Bruno Kamiche
Step by step developing  with Facebook PHP API by Bruno KamicheStep by step developing  with Facebook PHP API by Bruno Kamiche
Step by step developing with Facebook PHP API by Bruno Kamiche
 
Html Y Javascript
Html Y JavascriptHtml Y Javascript
Html Y Javascript
 
Html Y Javascript
Html Y JavascriptHtml Y Javascript
Html Y Javascript
 
PHP
PHPPHP
PHP
 
Datos y metadatos, de Francisca Hernández Carrascal
Datos y metadatos, de Francisca Hernández CarrascalDatos y metadatos, de Francisca Hernández Carrascal
Datos y metadatos, de Francisca Hernández Carrascal
 
Datos y metadatos, Francisca Hernández Carrascal
Datos y metadatos, Francisca Hernández CarrascalDatos y metadatos, Francisca Hernández Carrascal
Datos y metadatos, Francisca Hernández Carrascal
 
Javascript
JavascriptJavascript
Javascript
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
Datos En La Web - Clase 1
Datos En La Web - Clase 1Datos En La Web - Clase 1
Datos En La Web - Clase 1
 
¿Qué es la Web Semántica?
¿Qué es la Web Semántica?¿Qué es la Web Semántica?
¿Qué es la Web Semántica?
 
Introduccion Struts2
Introduccion Struts2Introduccion Struts2
Introduccion Struts2
 
DiseñO Pagina Web
DiseñO Pagina WebDiseñO Pagina Web
DiseñO Pagina Web
 
Jsf
JsfJsf
Jsf
 
PHP
PHPPHP
PHP
 
JSP
JSPJSP
JSP
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.Net
 

Plus de EmpathyBroker

Creating Data Visualisations for the Web
Creating Data Visualisations for the WebCreating Data Visualisations for the Web
Creating Data Visualisations for the WebEmpathyBroker
 
Making Connections: make your site search drive your sales, not drive your cu...
Making Connections: make your site search drive your sales, not drive your cu...Making Connections: make your site search drive your sales, not drive your cu...
Making Connections: make your site search drive your sales, not drive your cu...EmpathyBroker
 
Introduction to site search analytics by SearchBroker
Introduction to site search analytics by SearchBrokerIntroduction to site search analytics by SearchBroker
Introduction to site search analytics by SearchBrokerEmpathyBroker
 
Business case for site search
Business case for site searchBusiness case for site search
Business case for site searchEmpathyBroker
 
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)eCommerceNG "Maximize the Potential of Mobile Commerce" (3)
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)EmpathyBroker
 
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)eCommerce NG "Maximize the Potential of Mobile Commerce" (2)
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)EmpathyBroker
 
eCommerce NG: Maximize the potential of mobile commerce (1)
eCommerce NG: Maximize the potential of mobile commerce (1)eCommerce NG: Maximize the potential of mobile commerce (1)
eCommerce NG: Maximize the potential of mobile commerce (1)EmpathyBroker
 
Does your site search engine drive you sales?
Does your site search engine drive you sales?Does your site search engine drive you sales?
Does your site search engine drive you sales?EmpathyBroker
 
How much is site search worth? How to define conversion and calculate ROI
 How much is site search worth? How to define conversion and calculate ROI How much is site search worth? How to define conversion and calculate ROI
How much is site search worth? How to define conversion and calculate ROIEmpathyBroker
 
The Empathy Project - Presentación en Expo Ecommerce 2012
The Empathy Project - Presentación en Expo Ecommerce 2012The Empathy Project - Presentación en Expo Ecommerce 2012
The Empathy Project - Presentación en Expo Ecommerce 2012EmpathyBroker
 
Searchandising: el buscador, tu mejor aliado en las ventas
Searchandising: el buscador, tu mejor aliado en las ventasSearchandising: el buscador, tu mejor aliado en las ventas
Searchandising: el buscador, tu mejor aliado en las ventasEmpathyBroker
 
Understanding the Online Apparel Path to Purchase
Understanding the Online Apparel Path to PurchaseUnderstanding the Online Apparel Path to Purchase
Understanding the Online Apparel Path to PurchaseEmpathyBroker
 
Oferta de empleo desarrollador para Madrid
Oferta de empleo desarrollador para MadridOferta de empleo desarrollador para Madrid
Oferta de empleo desarrollador para MadridEmpathyBroker
 

Plus de EmpathyBroker (15)

Creating Data Visualisations for the Web
Creating Data Visualisations for the WebCreating Data Visualisations for the Web
Creating Data Visualisations for the Web
 
Making Connections: make your site search drive your sales, not drive your cu...
Making Connections: make your site search drive your sales, not drive your cu...Making Connections: make your site search drive your sales, not drive your cu...
Making Connections: make your site search drive your sales, not drive your cu...
 
Introduction to site search analytics by SearchBroker
Introduction to site search analytics by SearchBrokerIntroduction to site search analytics by SearchBroker
Introduction to site search analytics by SearchBroker
 
Business case for site search
Business case for site searchBusiness case for site search
Business case for site search
 
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)eCommerceNG "Maximize the Potential of Mobile Commerce" (3)
eCommerceNG "Maximize the Potential of Mobile Commerce" (3)
 
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)eCommerce NG "Maximize the Potential of Mobile Commerce" (2)
eCommerce NG "Maximize the Potential of Mobile Commerce" (2)
 
eCommerce NG: Maximize the potential of mobile commerce (1)
eCommerce NG: Maximize the potential of mobile commerce (1)eCommerce NG: Maximize the potential of mobile commerce (1)
eCommerce NG: Maximize the potential of mobile commerce (1)
 
Does your site search engine drive you sales?
Does your site search engine drive you sales?Does your site search engine drive you sales?
Does your site search engine drive you sales?
 
How much is site search worth? How to define conversion and calculate ROI
 How much is site search worth? How to define conversion and calculate ROI How much is site search worth? How to define conversion and calculate ROI
How much is site search worth? How to define conversion and calculate ROI
 
The Empathy Project - Presentación en Expo Ecommerce 2012
The Empathy Project - Presentación en Expo Ecommerce 2012The Empathy Project - Presentación en Expo Ecommerce 2012
The Empathy Project - Presentación en Expo Ecommerce 2012
 
Searchandising: el buscador, tu mejor aliado en las ventas
Searchandising: el buscador, tu mejor aliado en las ventasSearchandising: el buscador, tu mejor aliado en las ventas
Searchandising: el buscador, tu mejor aliado en las ventas
 
Understanding the Online Apparel Path to Purchase
Understanding the Online Apparel Path to PurchaseUnderstanding the Online Apparel Path to Purchase
Understanding the Online Apparel Path to Purchase
 
Oferta de empleo desarrollador para Madrid
Oferta de empleo desarrollador para MadridOferta de empleo desarrollador para Madrid
Oferta de empleo desarrollador para Madrid
 
SearchBroker Brochure
SearchBroker BrochureSearchBroker Brochure
SearchBroker Brochure
 
Necesito un buscador
Necesito un buscadorNecesito un buscador
Necesito un buscador
 

Dernier

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Dernier (20)

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Apache Solr guía

  • 2. ¿Quiénes Somos? Expertos en sistemas de búsqueda, repositorios digitales y recomendación . Referencia Relevante : 24Symbols, BBVA o Biblioteca Nacional.
  • 4.
  • 5.
  • 6.
  • 7.  
  • 8.
  • 9.
  • 10.
  • 11. Configurando Apache Solr: solr . xml < solr persistent =&quot;true&quot; sharedLib =&quot;lib&quot;>       < cores adminPath =&quot;/admin/cores&quot;>            < core name =&quot;pdg&quot; instanceDir =&quot;/etc/solr/cores/pdg&quot; />           <core name=&quot;geoeuskadi&quot; instanceDir=&quot;/etc/solr/geoeuskadi&quot; />           <core name=&quot;24symbols&quot; instanceDir=&quot;/etc/solr/24symbols&quot; />           <core name=&quot;cmt&quot; instanceDir=&quot;/etc/cores/cmt&quot; />           <core name=&quot;disofic&quot; instanceDir=&quot;/etc/solr/disofic&quot; />           <core name=&quot;cdl&quot; instanceDir=&quot;/etc/solr/cdl&quot; />           <core name=&quot;24sac&quot; instanceDir=&quot;/etc/solr/24symbolsac&quot; />       </cores> </solr>
  • 12. Configurando Apache Solr: schema.xml < schema name=&quot;opensearch&quot; version=&quot;1.1&quot;>   < types >     <fieldType name=&quot;string&quot; class=&quot;solr.StrField&quot; sortMissingLast =&quot;true&quot; omitNorms =&quot;true&quot;/>     < fieldType name=&quot;text&quot; class=&quot;solr.TextField&quot; positionIncrementGap =&quot;100&quot;>       < analyzer type=&quot; index &quot;>         < tokenizer class=&quot;solr.HTMLStripStandardTokenizerFactory&quot;/>            < filter class=&quot;solr.LowerCaseFilterFactory&quot;/>         <filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/>         <filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/>       </analyzer>       <analyzer type=&quot; query &quot;>         < tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/>         < filter class=&quot;solr.LowerCaseFilterFactory&quot;/>         <filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/>         <filter class=&quot;solr.SynonymFilterFactory&quot; ignoreCase=&quot;true&quot; synonyms=&quot;synonyms.txt&quot;/>         <filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/>       </analyzer>     </fieldType>   </types>   < fields >   < field name=&quot;id&quot; type =&quot;string&quot; stored =&quot;true&quot; indexed =&quot;true&quot;/>   <field name=&quot;docName&quot; type=&quot;text&quot; stored=&quot;true&quot; indexed=&quot;true&quot;/>               < dynamicField name=&quot; fecha* &quot; type=&quot;date&quot;  indexed=&quot;true&quot;  stored=&quot;true&quot;/>               <field name=&quot;buscable&quot; type=&quot;text&quot; stored=&quot;false&quot; indexed=&quot;true&quot; multiValued =&quot;true&quot; positionIncrementGap =&quot;50&quot;/>   </fields>   < copyField source=&quot;docName&quot; dest=&quot;buscable&quot;/>   < uniqueKey >id</uniqueKey>   < defaultSearchField >buscable</defaultSearchField>   < solrQueryParser defaultOperator=&quot;AND&quot;/> </schema>
  • 13.
  • 14.
  • 15. Configurando Apache Solr:  solrconfig.xml Propiedades del índice < dataDir >/var/solr/data</dataDir> < indexDefaults >             <!-- Values here affect all index writers and act as a default unless overridden. ->             < useCompoundFile >false</useCompoundFile>            < mergeFactor >10</mergeFactor>            <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.  --> <!-- <maxBufferedDocs>1000</maxBufferedDocs> --> <!-- Sets the amount of RAM that may be used by Lucene indexing for buffering added documents and deletions before they are flushed to the Directory.  --> < ramBufferSizeMB >32</ramBufferSizeMB> <!-- <maxMergeDocs>2147483647</maxMergeDocs> --> < maxFieldLength >10000</maxFieldLength> < writeLockTimeout >1000</writeLockTimeout> < commitLockTimeout >10000</commitLockTimeout> < lockType >native</lockType> </indexDefaults> < mainIndex > < useCompoundFile >false</useCompoundFile> < ramBufferSizeMB >32</ramBufferSizeMB>   < mergeFactor >10</mergeFactor> </mainIndex>
  • 16. Configurando Apache Solr:  solrconfig.xml   Configuración de consulta < query >          < maxBooleanClauses >1024</maxBooleanClauses>          < filterCache class=&quot;solr.FastLRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < queryResultCache class=&quot;solr.LRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < documentCache class=&quot;solr.LRUCache&quot; size=&quot;512&quot; initialSize=&quot;512&quot; autowarmCount=&quot;0&quot; />          < enableLazyFieldLoading >true</enableLazyFieldLoading>          <cache name=&quot;myUserCache&quot; class=&quot;solr.LRUCache&quot; size=&quot;4096&quot; initialSize=&quot;1024&quot;                      autowarmCount=&quot;1024&quot; regenerator=&quot;org.mycompany.mypackage.MyRegenerator&quot; />          < queryResultWindowSize >20</queryResultWindowSize>          < queryResultMaxDocsCached >200</queryResultMaxDocsCached>          < listener event=&quot; newSearcher &quot; class=&quot;solr.QuerySenderListener&quot;>              <arr name=&quot;queries&quot;>                  <!-- <lst> <str name=&quot;q&quot;>solr</str> <str name=&quot;rows&quot;>10</str> </lst> -->            </arr>          </listener>          < useColdSearcher >false</useColdSearcher>          < maxWarmingSearchers >2</maxWarmingSearchers> </query>
  • 17. Configurando Apache Solr:  solrconfig.xml Configuración de los RequestHandlers          < requestHandler name=&quot; /spell &quot; class=&quot;solr.SearchHandler&quot; lazy=&quot;true&quot;>               < lst name=&quot;defaults&quot;>                    <!-- omp = Only More Popular -->                   < str name =&quot;spellcheck.onlyMorePopular&quot;> false </str>                   <!-- exr = Extended Results -->                   <str name=&quot;spellcheck.extendedResults&quot;>false</str>                    <!--  The number of suggestions to return -->                   <str name=&quot;spellcheck.count&quot;>1</str>               </lst>               < arr name=&quot; last-components &quot;>                   <str> spellcheck </str>               </arr>          </requestHandler>          < searchComponent name=&quot; spellcheck &quot; class=&quot;solr.SpellCheckComponent&quot;>              <str name=&quot;queryAnalyzerFieldType&quot;>textSpell</str>             <lst name=&quot;spellchecker&quot;>                   <str name=&quot;name&quot;>default</str>                   <str name=&quot;field&quot;>name</str>                   <str name=&quot;spellcheckIndexDir&quot;>./spellchecker</str>             </lst>           </searchComponent>
  • 18.
  • 19. Modificando el índice:  indexación      Formato de XML de indexación   <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>   < add >                   < doc >                         < field name =&quot;identificador&quot;>http://url.cualquiera.com/webclient/</field>                         <field name=&quot; pid &quot;> 1865905 </field>                         <field name=&quot;thumbnail&quot;>http://url.cualquiera.com/webclient/Delivery</field>                       <field name=&quot;autor&quot;>Castro, Adolfo de 1823-1898 </field>                       <field name=&quot;autor_facet&quot;>Castro, Adolfo de</field>                       <field name=&quot;autor_abreviada&quot;>Castro, Adolfo de-1823-1898-</field>                       <field name=&quot;autor_completa&quot;>Castro, Adolfo de-1823-1898-#</field>                       <field name=&quot;titulo&quot;>Cádiz en la Guerra de la Independencia  : cuadro histórico</field>                       <field name=&quot;editor&quot;>Cádiz Revista Médica </field>                       <field name=&quot;materia&quot;>Cádiz Historia S.XIX </field>                         …               </doc>                 ...   </add>
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Consultando el índice:  básicos curl http://host:8983/opensearch/select/?q=Pilar%20rojo&fl=title,contenttype&start=0&rows=10&wt=xml      < response >      <lst name=&quot; responseHeader &quot;> <int name=&quot; status &quot;>0</int> <int name=&quot; QTime &quot;>293</int> <lst name=&quot; params &quot;> <str name=&quot;wt&quot;>xml</str> <str name=&quot; rows &quot;>10</str> <str name=&quot; start &quot;>0</str> <str name=&quot; q &quot;> Pilar rojo </str> </lst> </lst> < result name=&quot;response&quot; numFound =&quot;2894&quot; start =&quot;0&quot;> <doc>...</doc> <doc>...</doc> <doc>...</doc> < doc > <str name=&quot; contenttype &quot;>text/html; charset=utf-8</str> <str name=&quot; title &quot;> Pilar Rojo participa nos actos do Xacobeo 2010</str> </doc> <doc>...</doc> <doc>...</doc> </result>      </response>
  • 25.
  • 27.
  • 28. Consultando el índice:  faceting <lst name=&quot; facet_counts &quot;> <lst name=&quot; facet_queries &quot;> <int name=&quot;l ocale:&quot;es_ES&quot; &quot;>16684</int> <int name=&quot; locale_americano &quot;>844</int> </lst> <lst name=&quot; facet_fields &quot;> <lst name=&quot; locale &quot;>          <int name=&quot;es_ES&quot;>16684</int>          <int name=&quot;en_US&quot;>844</int>          <int name=&quot;ca_ES&quot;>110</int>          <int name=&quot;eu_ES&quot;>110</int>          <int name=&quot;gl_ES&quot;>110</int> </lst> </lst> <lst name=&quot; facet_dates &quot;> <lst name=&quot; fecha_resolucion &quot;>          <int name=&quot;2007-08-31T16:17:37.304Z&quot;>4</int>         <int name=&quot;2008-08-31T16:17:37.304Z&quot;>41</int>         <int name=&quot;2009-08-31T16:17:37.304Z&quot;>49</int>         <str name=&quot;gap&quot;>+1YEARS</str>          <date name=&quot;end&quot;>2010-08-31T16:17:37.304Z</date> </lst> </lst> </lst>
  • 29.
  • 30.
  • 31. Consultando el índice:  highlighting <lst name=&quot; highlighting &quot;> <lst name=&quot; lp_es_ES2567024 &quot;> <arr name=&quot; titulo &quot;> <str>La CMT abre <span class=&quot;highlight&quot;>expediente</span> sancionador a Proyecto Atarfe</str> </arr> </lst> <lst name=&quot; lp_es_ES2574813 &quot;> <arr name=&quot; asunto &quot;> <str>ACUERDO PARA LA INSCRIPCIÓN DE AUTORIZACIÓN GENERAL EN EL <span class=&quot;highlight&quot;>EXPEDIENTE</span> AUT-001/98 DE</str> </arr> <arr name=&quot; expediente &quot;> <str> <span class=&quot;highlight&quot;>Expediente</span> AUT</str> </arr> </lst> <lst name=&quot; lp_es_ES2627601 &quot;> <arr name=&quot; asunto &quot;> <str>RESOLUCION DEL ARCHIVO DEL <span class=&quot;highlight&quot;> EXPEDIENTE</span> DE LA ENTIDAD GOYA SERVICIOS</str> </arr> </lst> ... </lst>
  • 32.
  • 33. Consultando el índice:  spellchecking <lst name=&quot; spellcheck &quot;> <lst name=&quot; suggestions &quot;> <lst name=&quot; ipoteca &quot;> <int name=&quot;numFound&quot;>1</int> <int name=&quot;startOffset&quot;>0</int> <int name=&quot;endOffset&quot;>7</int> <arr name=&quot; suggestion &quot;> <str> hipoteca </str> </arr> </lst> <lst name=&quot; vasura &quot;> <int name=&quot;numFound&quot;>1</int> <int name=&quot;startOffset&quot;>8</int> <int name=&quot;endOffset&quot;>14</int> <arr name=&quot; suggestion &quot;> <str> basura </str> </arr> </lst> <str name=&quot; collation &quot;> hipoteca basura </str> </lst> </lst> /select?q= ipoteca%20vasura & spellcheck=true & spellcheck.collate=true & spellcheck.count=1
  • 34.
  • 35.
  • 36.
  • 37. Análisis personalizado:  analyzer <fieldtype name=&quot;teststop&quot; class=&quot;solr.TextField&quot;>     <analyzer>       <tokenizer class=&quot;solr.LowerCaseTokenizerFactory&quot;/>       < filter class=&quot;solr. StopFilterFactory &quot; words =&quot; stopwords.txt &quot; ignoreCase =&quot;true&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;testedgengrams&quot; class=&quot;solr.TextField&quot;>     <analyzer>       <tokenizer class=&quot;solr.LowerCaseTokenizerFactory&quot;/>       < filter class=&quot;solr. EdgeNGramFilterFactory &quot; minGramSize =&quot;2&quot; maxGramSize =&quot;15&quot; side =&quot;front&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;testkeep&quot; class=&quot;solr.TextField&quot;>     <analyzer>       < filter class=&quot;solr. KeepWordFilterFactory &quot; words=&quot; keepwords.txt &quot; ignoreCase =&quot;true&quot;/>     </analyzer> </fieldtype> <fieldtype name=&quot;syn&quot; class=&quot;solr.TextField&quot;>     <analyzer>         <tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/>         < filter class=&quot;solr. SynonymFilterFactory &quot; synonyms =&quot; syn.txt &quot; ignoreCase =&quot;true&quot; expand =&quot;false&quot;/>     </analyzer> </fieldtype>
  • 39.
  • 40. Alta Disponibilidad: replicación
  • 41.
  • 42.
  • 43.