You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2008/02/21 22:29:28 UTC

[Solr Wiki] Update of "SearchComponent" by GrantIngersoll

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/")]]