Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change 
notification.

The following page has been changed by GrantIngersoll:
http://wiki.apache.org/solr/SearchComponent

------------------------------------------------------------------------------
  = Search Components =
  
- <!> ["Solr1.3"]  -- note, this is not committed yet.  It is part of 
+ <!> ["Solr1.3"]  -- 
+ Search components enable a 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/SearchHandler.html
 SearchHandler] to chain together reusable pieces of functionality to create 
custom search handlers without writing code.
+ 
+ There are currently several "default" 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/SearchComponent.html
 SearchComponent]s which now comprise the default StandardRequestHandler.  They 
are:
+  * 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/QueryComponent.html
 QueryComponent]
+  * 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/FacetComponent.html
 FacetComponent]
+  * 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/MoreLikeThisComponent.html
 MoreLikeThis]
+  * 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/HighlightComponent.html
 Highlighting]
+  * 
[http://lucene.apache.org/solr/api/org/apache/solr/handler/component/DebugComponent.html
 Debug]
+ 
+ Components are enabled in the [http://wiki.apache.org/solr/SolrConfigXml 
solrconfig.xml].
+ 
+ Example:
+ {{{
+ <searchComponent name="query"     
class="org.apache.solr.handler.component.QueryComponent" />
+ <searchComponent name="facet"     
class="org.apache.solr.handler.component.FacetComponent" />
+ <searchComponent name="mlt"       
class="org.apache.solr.handler.component.MoreLikeThisComponent" />
+ <searchComponent name="highlight" 
class="org.apache.solr.handler.component.HighlightComponent" />
+ <searchComponent name="debug"     
class="org.apache.solr.handler.component.DebugComponent" />
+ }}}
+ 
+ These examples are enabled by default, but can be overridden by writing your 
own class that extends SearchComponent and then declare it in the 
solrconfig.xml with the appropriate name.  For instance, to override the 
"query" component, one would declare:
+ {{{
+ <searchComponent name="query"     class="my.app.MyQueryComponent" />
+ }}}
+ 
+ Components are initialized just like RequestHandlers, for example, the Query 
Elevator (editorial boosting) is declared as:
+ {{{
+ <searchComponent name="elevator" 
class="org.apache.solr.handler.component.QueryElevationComponent" >
+     <!-- pick a fieldType to analyze queries -->
+     <str name="queryFieldType">string</str>
+     <str name="config-file">elevate.xml</str>
+   </searchComponent>
+ }}}
+ 
+ Then, it can be added to an existing Request Handler by adding in the 
component:
+ {{{
+ <arr name="last-components">
+   <str>elevator</str>
+ </arr>
+ }}}
+ 
+ For example, the /elevate RequestHandler uses the SearchHandler 
(StandardRequestHandler is a trivial extension of SearchHandler) and is 
declared as:
+ {{{
+ <requestHandler name="/elevate" 
class="org.apache.solr.handler.component.SearchHandler" startup="lazy">
+     <lst name="defaults">
+       <str name="echoParams">explicit</str>
+     </lst>
+     <arr name="last-components">
+       <str>elevator</str>
+     </arr>
+ </requestHandler>
+ }}}
+ 
+ -------
+ see: 
http://www.nabble.com/search-components-%28plugins%29-tf3898040.html#a11050274
+ 
+ It was first introduce as part of 
  [https://issues.apache.org/jira/browse/SOLR-281 SOLR-281] 
  
- Search components break a SearchHandler into a list of reusable steps.
- 
- see: 
http://www.nabble.com/search-components-%28plugins%29-tf3898040.html#a11050274
  
  [[FullSearch(title:"SearchComponent/")]]
  

Reply via email to