SlideShare a Scribd company logo
Apache Solr
                                        Enterprise search platform
                                     from the Apache Lucene project




Rivet Logic Corporation
1800 Alexander Bell Drive
Suite 400
Reston, VA 20191
Ph: 703.955.3480 Fax: 703.234.7711
What is Solr?


 ● Search Server
 ● Built upon Apache Lucene
 ● Fast, very
 ● Scalable, query load and collection size
 ● Interoperable
 ● Extensible
 ● Lucene power exposed over HTTP
 ● Spell checking, highlighting, faceting and etc.
 ● Caching
 ● Replication
 ● Distributed search
How stuff works?
schema.xml


● Field types
   ○ <fieldType name="text" class="solr.TextField" indexed="true" />


● Fields
   ○ <field name="technologies" type="text" indexed="true" stored="true" multiValued="true"/>
● Unique key (optional)
   ○ <uniqueKey>id</uniqueKey>
● copy fields
   ○ <copyField source="developers" dest="df"/>
● dynamic fields
   ○ <dynamicField name="*_dt" type="date"       indexed="true" stored="true"/>
● similarity configuration
   ○ Similarity is the scoring routine for each document vs. a query
solrconfig.xml

● Lucene indexing parameters
   ○ <mergeFactor>10</mergeFactor>
   ○ <ramBufferSizeMB>32</ramBufferSizeMB>
● Cache settings
   ○ <queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="
     32"/>
● Request handler configuration
   ○ <requestHandler name="dismax" class="solr.SearchHandler" >
● HTTP cache settings
   ○ <httpCaching lastModifiedFrom="openTime" etagSeed="Solr">


● Search components, response writers, query parsers
   ○ <searchComponent name="spellcheck" class="solr.SpellCheckComponent">


   ○ <queryResponseWriter name="velocity" class="org.apache.solr.request.
     VelocityResponseWriter"/>
   ○ <queryParser name="lucene" class="org.apache.solr.search.LuceneQParserPlugin"/>
Request Handler

<requestHandler name="/itas" class="solr.SearchHandler">
   <lst name="defaults">
    <str name="v.template">browse</str>
    <str name="v.properties">velocity.properties</str>
    <str name="title">Solritas</str>

    <str name="wt">velocity</str>
    <str name="defType">dismax</str>
    <str name="q.alt">*:*</str>
    <str name="rows">10</str>
    <str name="fl">*,score</str>
    <str name="facet">on</str>
    <str name="facet.field">df</str>
    <str name="facet.mincount">1</str>
    <str name="hl">true</str>
    <str name="hl.fl">developers</str>
    <str name="qf">
       text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
    </str>
   </lst>
 </requestHandler>
Response Writer


● A Response Writer generates the formatted response of
  a search.
● The wt parameter selects the Response Writer to be
  used
● json, php, phps, python, ruby, xml, xslt, velocity

  <queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
   <int name="xsltCacheLifetimeSeconds">5</int>
  </queryResponseWriter>
Analyzers, Tokenizers, Filters

● The Analyzer class is a native Lucene concept that determines
  how tokens are produced from a piece of text
   <fieldType name="nametext" class="solr.TextField">
      <analyzer class="org.apache.lucene.analysis.WhitespaceAnalyzer"/>
   </fieldType>

● The job of a tokenizer is to break up a stream of text into
  tokens
● A token looks at each Token in the stream sequentially
  and decides whether to pass it along, replace it or discard
  it
    <fieldType name="text" class="solr.TextField">
       <analyzer>
          <tokenizer class="solr.StandardTokenizerFactory"/>
          <filter class="solr.StandardFilterFactory"/>
       </analyzer>
    </fieldType>
Other features

● Highlighting
   ○ &hl=true&hl.fl=developers
● Synonyms
   ○ <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true"
    expand="true"/>
● Spell check
   ○ The spell check component can return a list of alternative spelling
      suggestions.
   ○ <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
● Content Streams
   ○ Allows Solr server to fetch local or remote data itself. Must enable remote streaming in
    solrconfig.xml

● Solr Cell
   ○ leveraging Tika, extracts and indexes rich documents such as Word, PDF, HTML, and many
    other types

● More like this
   ○ http://wiki.apache.org/solr/MoreLikeThis
Indexing with solrJ



SolrServer solr =
        new CommonsHttpSolrServer(
                    new URL("http://localhost:8983/solr"));
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "EXAMPLEDOC01");
doc.addField("title", "NOVAJUG SolrJ Example");
solr.add(doc);
solr.commit(); // after a batch, not per document
solr.optimize(); // periodically, if/when needed
Data Import Handler

● Indexes relational database, XML data, and e-mail
  sources
● Supports full and incremental/delta indexing
● Highly extensible with custom data sources,
  transformers, etc
● http://wiki.apache.org/solr/DataImportHandler
Replication


● Master is polled
● Replicant pulls Lucene index and optionally also Solr
  configuration files
● Query throughput scaling: replicate and load balance
● http://wiki.apache.org/solr/SolrReplication
Demo

● Download solr
   ○ http://mirrors.ibiblio.org/pub/mirrors/apache/lucene/solr/1.4.0/
● Start solr
   ○ cd <solr_home>/example
   ○ java -jar start.jar
● Post documents
   ○ cd <solr_home>/example/exampledocs
   ○ java -jar post.jar *.xml
   ○ java -jar post.jar cw.xml
● Access Solr
   ○ http://localhost:8983/solr/admin/
● Querying solr
   ○ http://localhost:8983/solr/select/?q=binesh
   ○ http://localhost:8983/solr/select/?q=binny
   ○ http://localhost:8983/solr/select/?q=binesh&facet=true&facet.field=df&facet.mincount=1
   ○ http://localhost:8983/solr/itas/
● Luke
   ○ http://www.getopt.org/luke/
Liferay + Solr: Motivation


● Centralizing search index in clustered Liferay
  environment

● Performance improvement
   ○ Re-indexing costs too much for large DB's
   ○ Often time indexes of Liferay deployments in a cluster are not
     synchronized
Liferay + Solr: Configuration 1


Install Solr (http://lucene.apache.org/solr)

Setting up environment variables
 ● SOLR_HOME = /${solr installed folder}
 ● JAVA_OPTS = "$JAVA_OPTS -Dsolr.solr.home=$SOLR_HOME/example/solr/data"
solr.xml
 ● Place the file under ${tomcat}/conf/Catalina/localhost/ with following content

   <?xml version="1.0" encoding="utf-8">
   <Context docBase="$SOLR_HOME/apache-solr-1.4.0.war"
           debug="0" crossContext="true">
       <Environment name="solr/home" type="java.lang.String"
                     value="$SOLR_HOME" override="true" />
   </Context>
Liferay + Solr: Configuration 2

schema.xml
 ● This file tells Solr how to index the data coming from Liferay, and can be
   customized for your installation.
 ● Copy this file from solr-web plugin to $SOLR_HOME/conf (you may have
   to create the conf directory) in your Solr home folder.
... <fields>
<field name="comments" type="text" indexed="true" stored="true" />
<field name="content" type="text" indexed="true" stored="true" />
<field name="description" type="text" indexed="true" stored="true" />
<field name="name" type="text" indexed="true" stored="true" />
<field name="properties" type="text" indexed="true" stored="true" />
<field name="title" type="text" indexed="true" stored="true" />
<field name="uid" type="string" indexed="true" stored="true" />
<field name="url" type="text" indexed="true" stored="true" />
<field name="userName" type="text" indexed="true" stored="true" />
<field name="version" type="text" indexed="true" stored="true" />
<dynamicField name="*" type="string" indexed="true" stored="true" />
</fields>
<uniqueKey>uid</uniqueKey>
<defaultSearchField>content</defaultSearchField>
       ... <copyField source="comments" dest="content"/> ... ...
Liferay + Solr: Configuration 3



Copy WAR file
 ● Copy the WAR file $SOLR_HOME/dist/apache-solr-${solr.version}.war
   into $SOLR_HOME/example; where ${solr.version} represents Solr
   version number, i.e., 1.4.0.


Start Liferay/tomcat
 ● Solr will be picked up and "solr" will be deployed automatically under
   ${tomcat}/webapps folder


Install solr-web Liferay plugin
 ● Latest Liferay plugin can be checked out from the following location
http://svn.liferay.com/repos/public/plugins/trunk/webs/solr-web
 ● Build the checked out plugin and deploy it
Liferay + Solr: Configuration 4


Final Step
 ● We need to rebuild Liferay search indexes
 ● Control Panel > Server Administration
Liferay + Solr: How it works


 solr-spring.xml (from solr-web plugin)

  ...
  <bean id="solrServer"
         class="com.liferay.portal.search.solr.server.BasicAuthSolrServer">
      <constructor-arg type="java.lang.String"
                     value="http://localhost:8080/solr" />
  </bean>
  <bean id="indexSearcher.solr"
         class="com.liferay.portal.search.solr.SolrIndexSearcherImpl">
<property name="solrServer" ref="solrServer" />
  </bean>
  <bean id="indexWriter.solr"
         class="com.liferay.portal.search.solr.SolrIndexWriterImpl">
<property name="commit" value="true" />
<property name="solrServer" ref="solrServer" />
  </bean>
  ...
Liferay + Solr: Back to the default?


● Simply undeploy solr-web plugin
● Rebuild search indexes using the control panel described
  in the previous step

More Related Content

PDF
Solr Query Parsing
PDF
Query Parsing - Tips and Tricks
PPTX
Tutorial on developing a Solr search component plugin
PDF
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
PDF
Solr Black Belt Pre-conference
PDF
Rapid Prototyping with Solr
PDF
Lucene's Latest (for Libraries)
PDF
Lucene for Solr Developers
Solr Query Parsing
Query Parsing - Tips and Tricks
Tutorial on developing a Solr search component plugin
code4lib 2011 preconference: What's New in Solr (since 1.4.1)
Solr Black Belt Pre-conference
Rapid Prototyping with Solr
Lucene's Latest (for Libraries)
Lucene for Solr Developers

What's hot (20)

PDF
Solr Recipes Workshop
PDF
Apache Solr Workshop
PDF
Solr Application Development Tutorial
PPTX
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
PDF
Solr Troubleshooting - TreeMap approach
PDF
Solr 4
PDF
Rapid Prototyping with Solr
PDF
Using Apache Solr
PDF
Get the most out of Solr search with PHP
PPTX
Apache Solr
PDF
Retrieving Information From Solr
PDF
Building your own search engine with Apache Solr
ODP
Searching for AI - Leveraging Solr for classic Artificial Intelligence tasks
PDF
Solr Powered Lucene
PDF
Lucene for Solr Developers
PDF
Integrating the Solr search engine
PPT
Building Intelligent Search Applications with Apache Solr and PHP5
PPTX
Search Engine Building with Lucene and Solr (So Code Camp San Diego 2014)
PDF
From content to search: speed-dating Apache Solr (ApacheCON 2018)
PPTX
Introduction to Apache Lucene/Solr
Solr Recipes Workshop
Apache Solr Workshop
Solr Application Development Tutorial
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
Solr Troubleshooting - TreeMap approach
Solr 4
Rapid Prototyping with Solr
Using Apache Solr
Get the most out of Solr search with PHP
Apache Solr
Retrieving Information From Solr
Building your own search engine with Apache Solr
Searching for AI - Leveraging Solr for classic Artificial Intelligence tasks
Solr Powered Lucene
Lucene for Solr Developers
Integrating the Solr search engine
Building Intelligent Search Applications with Apache Solr and PHP5
Search Engine Building with Lucene and Solr (So Code Camp San Diego 2014)
From content to search: speed-dating Apache Solr (ApacheCON 2018)
Introduction to Apache Lucene/Solr
Ad

Similar to Apache solr liferay (20)

PDF
Basics of Solr and Solr Integration with AEM6
PDF
Apache Solr crash course
PPTX
Apache Solr Workshop
KEY
Apache Solr - Enterprise search platform
PPTX
Apache Solr + ajax solr
PPT
Solr Presentation
PDF
Apache Solr! Enterprise Search Solutions at your Fingertips!
PPTX
Solr introduction
PPS
Introduction to Solr
PPTX
Introduction to Lucene & Solr and Usecases
PPTX
Assamese search engine using SOLR by Moinuddin Ahmed ( moin )
PDF
Introduction to Solr
PDF
Solr search engine with multiple table relation
PDF
Information Retrieval - Data Science Bootcamp
PPTX
20130310 solr tuorial
PDF
Beyond full-text searches with Lucene and Solr
PDF
Solr Masterclass Bangkok, June 2014
PPTX
Coffee at DBG- Solr introduction
PDF
Solr Recipes
Basics of Solr and Solr Integration with AEM6
Apache Solr crash course
Apache Solr Workshop
Apache Solr - Enterprise search platform
Apache Solr + ajax solr
Solr Presentation
Apache Solr! Enterprise Search Solutions at your Fingertips!
Solr introduction
Introduction to Solr
Introduction to Lucene & Solr and Usecases
Assamese search engine using SOLR by Moinuddin Ahmed ( moin )
Introduction to Solr
Solr search engine with multiple table relation
Information Retrieval - Data Science Bootcamp
20130310 solr tuorial
Beyond full-text searches with Lucene and Solr
Solr Masterclass Bangkok, June 2014
Coffee at DBG- Solr introduction
Solr Recipes
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Cloud computing and distributed systems.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
cuic standard and advanced reporting.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
cuic standard and advanced reporting.pdf
Network Security Unit 5.pdf for BCA BBA.
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Apache solr liferay

  • 1. Apache Solr Enterprise search platform from the Apache Lucene project Rivet Logic Corporation 1800 Alexander Bell Drive Suite 400 Reston, VA 20191 Ph: 703.955.3480 Fax: 703.234.7711
  • 2. What is Solr? ● Search Server ● Built upon Apache Lucene ● Fast, very ● Scalable, query load and collection size ● Interoperable ● Extensible ● Lucene power exposed over HTTP ● Spell checking, highlighting, faceting and etc. ● Caching ● Replication ● Distributed search
  • 4. schema.xml ● Field types ○ <fieldType name="text" class="solr.TextField" indexed="true" /> ● Fields ○ <field name="technologies" type="text" indexed="true" stored="true" multiValued="true"/> ● Unique key (optional) ○ <uniqueKey>id</uniqueKey> ● copy fields ○ <copyField source="developers" dest="df"/> ● dynamic fields ○ <dynamicField name="*_dt" type="date" indexed="true" stored="true"/> ● similarity configuration ○ Similarity is the scoring routine for each document vs. a query
  • 5. solrconfig.xml ● Lucene indexing parameters ○ <mergeFactor>10</mergeFactor> ○ <ramBufferSizeMB>32</ramBufferSizeMB> ● Cache settings ○ <queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount=" 32"/> ● Request handler configuration ○ <requestHandler name="dismax" class="solr.SearchHandler" > ● HTTP cache settings ○ <httpCaching lastModifiedFrom="openTime" etagSeed="Solr"> ● Search components, response writers, query parsers ○ <searchComponent name="spellcheck" class="solr.SpellCheckComponent"> ○ <queryResponseWriter name="velocity" class="org.apache.solr.request. VelocityResponseWriter"/> ○ <queryParser name="lucene" class="org.apache.solr.search.LuceneQParserPlugin"/>
  • 6. Request Handler <requestHandler name="/itas" class="solr.SearchHandler"> <lst name="defaults"> <str name="v.template">browse</str> <str name="v.properties">velocity.properties</str> <str name="title">Solritas</str> <str name="wt">velocity</str> <str name="defType">dismax</str> <str name="q.alt">*:*</str> <str name="rows">10</str> <str name="fl">*,score</str> <str name="facet">on</str> <str name="facet.field">df</str> <str name="facet.mincount">1</str> <str name="hl">true</str> <str name="hl.fl">developers</str> <str name="qf"> text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 </str> </lst> </requestHandler>
  • 7. Response Writer ● A Response Writer generates the formatted response of a search. ● The wt parameter selects the Response Writer to be used ● json, php, phps, python, ruby, xml, xslt, velocity <queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter"> <int name="xsltCacheLifetimeSeconds">5</int> </queryResponseWriter>
  • 8. Analyzers, Tokenizers, Filters ● The Analyzer class is a native Lucene concept that determines how tokens are produced from a piece of text <fieldType name="nametext" class="solr.TextField"> <analyzer class="org.apache.lucene.analysis.WhitespaceAnalyzer"/> </fieldType> ● The job of a tokenizer is to break up a stream of text into tokens ● A token looks at each Token in the stream sequentially and decides whether to pass it along, replace it or discard it <fieldType name="text" class="solr.TextField"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StandardFilterFactory"/> </analyzer> </fieldType>
  • 9. Other features ● Highlighting ○ &hl=true&hl.fl=developers ● Synonyms ○ <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> ● Spell check ○ The spell check component can return a list of alternative spelling suggestions. ○ <searchComponent name="spellcheck" class="solr.SpellCheckComponent"> ● Content Streams ○ Allows Solr server to fetch local or remote data itself. Must enable remote streaming in solrconfig.xml ● Solr Cell ○ leveraging Tika, extracts and indexes rich documents such as Word, PDF, HTML, and many other types ● More like this ○ http://wiki.apache.org/solr/MoreLikeThis
  • 10. Indexing with solrJ SolrServer solr = new CommonsHttpSolrServer( new URL("http://localhost:8983/solr")); SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "EXAMPLEDOC01"); doc.addField("title", "NOVAJUG SolrJ Example"); solr.add(doc); solr.commit(); // after a batch, not per document solr.optimize(); // periodically, if/when needed
  • 11. Data Import Handler ● Indexes relational database, XML data, and e-mail sources ● Supports full and incremental/delta indexing ● Highly extensible with custom data sources, transformers, etc ● http://wiki.apache.org/solr/DataImportHandler
  • 12. Replication ● Master is polled ● Replicant pulls Lucene index and optionally also Solr configuration files ● Query throughput scaling: replicate and load balance ● http://wiki.apache.org/solr/SolrReplication
  • 13. Demo ● Download solr ○ http://mirrors.ibiblio.org/pub/mirrors/apache/lucene/solr/1.4.0/ ● Start solr ○ cd <solr_home>/example ○ java -jar start.jar ● Post documents ○ cd <solr_home>/example/exampledocs ○ java -jar post.jar *.xml ○ java -jar post.jar cw.xml ● Access Solr ○ http://localhost:8983/solr/admin/ ● Querying solr ○ http://localhost:8983/solr/select/?q=binesh ○ http://localhost:8983/solr/select/?q=binny ○ http://localhost:8983/solr/select/?q=binesh&facet=true&facet.field=df&facet.mincount=1 ○ http://localhost:8983/solr/itas/ ● Luke ○ http://www.getopt.org/luke/
  • 14. Liferay + Solr: Motivation ● Centralizing search index in clustered Liferay environment ● Performance improvement ○ Re-indexing costs too much for large DB's ○ Often time indexes of Liferay deployments in a cluster are not synchronized
  • 15. Liferay + Solr: Configuration 1 Install Solr (http://lucene.apache.org/solr) Setting up environment variables ● SOLR_HOME = /${solr installed folder} ● JAVA_OPTS = "$JAVA_OPTS -Dsolr.solr.home=$SOLR_HOME/example/solr/data" solr.xml ● Place the file under ${tomcat}/conf/Catalina/localhost/ with following content <?xml version="1.0" encoding="utf-8"> <Context docBase="$SOLR_HOME/apache-solr-1.4.0.war" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="$SOLR_HOME" override="true" /> </Context>
  • 16. Liferay + Solr: Configuration 2 schema.xml ● This file tells Solr how to index the data coming from Liferay, and can be customized for your installation. ● Copy this file from solr-web plugin to $SOLR_HOME/conf (you may have to create the conf directory) in your Solr home folder. ... <fields> <field name="comments" type="text" indexed="true" stored="true" /> <field name="content" type="text" indexed="true" stored="true" /> <field name="description" type="text" indexed="true" stored="true" /> <field name="name" type="text" indexed="true" stored="true" /> <field name="properties" type="text" indexed="true" stored="true" /> <field name="title" type="text" indexed="true" stored="true" /> <field name="uid" type="string" indexed="true" stored="true" /> <field name="url" type="text" indexed="true" stored="true" /> <field name="userName" type="text" indexed="true" stored="true" /> <field name="version" type="text" indexed="true" stored="true" /> <dynamicField name="*" type="string" indexed="true" stored="true" /> </fields> <uniqueKey>uid</uniqueKey> <defaultSearchField>content</defaultSearchField> ... <copyField source="comments" dest="content"/> ... ...
  • 17. Liferay + Solr: Configuration 3 Copy WAR file ● Copy the WAR file $SOLR_HOME/dist/apache-solr-${solr.version}.war into $SOLR_HOME/example; where ${solr.version} represents Solr version number, i.e., 1.4.0. Start Liferay/tomcat ● Solr will be picked up and "solr" will be deployed automatically under ${tomcat}/webapps folder Install solr-web Liferay plugin ● Latest Liferay plugin can be checked out from the following location http://svn.liferay.com/repos/public/plugins/trunk/webs/solr-web ● Build the checked out plugin and deploy it
  • 18. Liferay + Solr: Configuration 4 Final Step ● We need to rebuild Liferay search indexes ● Control Panel > Server Administration
  • 19. Liferay + Solr: How it works solr-spring.xml (from solr-web plugin) ... <bean id="solrServer" class="com.liferay.portal.search.solr.server.BasicAuthSolrServer"> <constructor-arg type="java.lang.String" value="http://localhost:8080/solr" /> </bean> <bean id="indexSearcher.solr" class="com.liferay.portal.search.solr.SolrIndexSearcherImpl"> <property name="solrServer" ref="solrServer" /> </bean> <bean id="indexWriter.solr" class="com.liferay.portal.search.solr.SolrIndexWriterImpl"> <property name="commit" value="true" /> <property name="solrServer" ref="solrServer" /> </bean> ...
  • 20. Liferay + Solr: Back to the default? ● Simply undeploy solr-web plugin ● Rebuild search indexes using the control panel described in the previous step