org.carrot2.source.idol
Class IdolDocumentSource

java.lang.Object
  extended by org.carrot2.core.ProcessingComponentBase
      extended by org.carrot2.source.SearchEngineBase
          extended by org.carrot2.source.MultipageSearchEngine
              extended by org.carrot2.source.idol.IdolDocumentSource
All Implemented Interfaces:
IDocumentSource, IProcessingComponent

public class IdolDocumentSource
extends MultipageSearchEngine

A IDocumentSource fetching Documents (search results) from an IDOL Search Engine. Please note that you will need to install an XSLT stylesheet in your IDOL instance that transforms the search results into the OpenSearch format. The XSLT stylesheet is available under the org.carrot2.source.idol package, next to the binaries of this class.

Based on code donated by Julien Nioche. Autonomy IDOL support contributed by James Sealey.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.carrot2.source.MultipageSearchEngine
MultipageSearchEngine.SearchEngineResponseCallable, MultipageSearchEngine.SearchMode, MultipageSearchEngine.SearchRange
 
Field Summary
 String idolServerName
          URL of the IDOL Server.
 int idolServerPort
          IDOL Server Port.
 int maximumResults
          Maximum number of results.
 int minScore
          Minimum IDOL Score.
 String otherSearchAttributes
          Any other search attributes (separated by &) from the Autonomy Query Search API's Ensure all the attributes are entered to satisfy XSL that will be applied.
 int resultsPerPage
          Results per page.
 String userAgent
          User agent header.
 String userName
          User name to use for authentication.
 String xslTemplateName
          IDOL XSL Template Name.
 
Fields inherited from class org.carrot2.source.MultipageSearchEngine
searchMode
 
Fields inherited from class org.carrot2.source.SearchEngineBase
compressed, documents, query, results, resultsTotal, start, statistics
 
Constructor Summary
IdolDocumentSource()
           
 
Method Summary
 void beforeProcessing()
          Invoked after the attributes marked with Processing and Input annotations have been bound, but before a call to IProcessingComponent.process().
protected  Callable<SearchEngineResponse> createFetcher(MultipageSearchEngine.SearchRange bucket)
          Subclasses should override this method and return a MultipageSearchEngine.SearchEngineResponseCallable instance that fetches search results in the given range.
 void process()
          Performs the processing required to fulfill the request.
 
Methods inherited from class org.carrot2.source.MultipageSearchEngine
collectDocuments, process, runQuery
 
Methods inherited from class org.carrot2.source.SearchEngineBase
afterFetch, clean, urlEncode
 
Methods inherited from class org.carrot2.core.ProcessingComponentBase
afterProcessing, dispose, getContext, getSharedExecutor, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.carrot2.core.IProcessingComponent
afterProcessing, dispose, init
 

Field Detail

idolServerName

public String idolServerName
URL of the IDOL Server.

Attribute label:
IDOL Server Address
Attribute level:
Advanced
Attribute group:
Service

idolServerPort

public int idolServerPort
IDOL Server Port.

Attribute label:
IDOL Server Port
Attribute level:
Advanced
Attribute group:
Service

xslTemplateName

public String xslTemplateName
IDOL XSL Template Name. The Reference of an IDOL XSL template that outputs the results in OpenSearch format.

Attribute label:
IDOL XSL Template Name
Attribute level:
Advanced
Attribute group:
Service

otherSearchAttributes

public String otherSearchAttributes
Any other search attributes (separated by &) from the Autonomy Query Search API's Ensure all the attributes are entered to satisfy XSL that will be applied.

Attribute label:
Other IDOLSearch Attributes
Attribute level:
Advanced
Attribute group:
Service

resultsPerPage

public int resultsPerPage
Results per page. The number of results per page the document source will expect the feed to return.

Attribute label:
Results per page
Attribute level:
Advanced
Attribute group:
Service

minScore

public int minScore
Minimum IDOL Score. The minimum score of the results returned by IDOL.

Attribute label:
Minimum Score
Attribute level:
Basic
Attribute group:
Service

maximumResults

public int maximumResults
Maximum number of results. The maximum number of results the document source can deliver.

Attribute label:
Maximum results
Attribute level:
Basic
Attribute group:
Service

userAgent

public String userAgent
User agent header. The contents of the User-Agent HTTP header to use when making requests to the feed URL. If empty or null value is provided, the following User-Agent will be sent: Rome Client (http://tinyurl.com/64t5n) Ver: UNKNOWN.

Attribute label:
User agent
Attribute level:
Advanced
Attribute group:
Service

userName

public String userName
User name to use for authentication.

Attribute label:
User name
Attribute level:
Medium
Attribute group:
Service
Constructor Detail

IdolDocumentSource

public IdolDocumentSource()
Method Detail

beforeProcessing

public void beforeProcessing()
Description copied from interface: IProcessingComponent
Invoked after the attributes marked with Processing and Input annotations have been bound, but before a call to IProcessingComponent.process(). In this method, the processing component should perform any initializations based on the runtime attributes. This method is called once per request.

Specified by:
beforeProcessing in interface IProcessingComponent
Overrides:
beforeProcessing in class ProcessingComponentBase

process

public void process()
             throws ProcessingException
Description copied from interface: IProcessingComponent
Performs the processing required to fulfill the request. This method is called once per request.

Specified by:
process in interface IProcessingComponent
Overrides:
process in class ProcessingComponentBase
Throws:
ProcessingException - when processing failed. If thrown, the IProcessingComponent.afterProcessing() method will be called and the component will be ready to accept further requests or to be disposed of. Finally, the exception will be rethrown from the controller method that caused the component to perform processing.

createFetcher

protected Callable<SearchEngineResponse> createFetcher(MultipageSearchEngine.SearchRange bucket)
Description copied from class: MultipageSearchEngine
Subclasses should override this method and return a MultipageSearchEngine.SearchEngineResponseCallable instance that fetches search results in the given range.

Note the query (if any is required) should be passed at the concrete class level. We are not concerned with it here.

Specified by:
createFetcher in class MultipageSearchEngine
Parameters:
bucket - The search range to fetch.


Copyright (c) Dawid Weiss, Stanislaw Osinski