com.raritantechnologies.endeca
Class EndecaSearchSource

java.lang.Object
  extended bycom.raritantechnologies.searchApp.SearchSource
      extended bycom.raritantechnologies.endeca.EndecaSearchSource
All Implemented Interfaces:
java.io.Serializable

public class EndecaSearchSource
extends SearchSource
implements java.io.Serializable

SearchSource for Endeca Information Access Platform collections.

XML Configuration Template:
  <SourceType name="[ source name ]" type="EndecaSearchSource" displayName="[ source display name ]"
                 sourceFactoryClass="com.raritantechnologies.endeca.EndecaSearchSourceFactory" 
                 queryProcessor="com.raritantechnologies.endeca.EndecaQueryProcessor"
                 host="[ host name of Endeca DataSearch server ]"
                 port="[ port number of Endeca DataSearch server ]"
                 defaultMatchMode="all | partial | any | allpartial | allany | partialmax ]"
                 freeTextField="[ query field that will search all Endeca Fields ]"
                 useEndecaMatchesFunction="[ true|false(default) - if true uses endeca:matches( ) query function ]"
                 blankQueryReturnsAll="[ true|false(default) ]" >

    <Fields>
      <!-- One or more Field tags: -->
      <Field ID="[abstract field name ]" freeTextField="[ true|false(default) ]" >
         <collection_field name="name in Endeca IndexProfile" >
           <type>[ ExactMatch | Inclusive ]</type>
           <matchMode>[ all | partial | any | allpartial | allany | partialmax ]</matchMode>
         </collection_field>
       </Field>

       <!-- etc. . . -->
    </Fields>

    <DimensionSearchFields>
      <!-- one or more Field tags... -->
      <Field ID="[ abstract field name ]" />
    </DimensionSearchFields>


     <!-- One or more TopicRenderer elements. The first will be the default if none has the default="true" attribute -->
     <TopicRenderer language="[ language for this renderer ]"
                       class="com.raritantechnologies.endeca.EndecaTopicRenderer"
                       default="[true|false(default)" >

     </TopicRenderer>

  </SourceType>
 

Developed by Raritan Technologies Inc..

Author:
Pat Crabtree
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.SearchSource
ID_FIELD, IS_FEDERATED, NUMBER_OF_FIELDS, SECURE, SOURCE_NAME, SOURCE_TYPE, TITLE_FIELD, URL_FIELD
 
Constructor Summary
EndecaSearchSource()
           
 
Method Summary
 void addDimensionSearch(OrderedMap inputParameters, ENEQuery eneQuery)
           
 java.lang.String createCompoundQuery(OrderedMap inputParameters, java.lang.String language)
           
 java.lang.String createEndecaExpandedRecordSearchQuery(java.lang.String searchTerm, java.lang.String languageId)
           
 java.lang.String createEndecaExpandedRecordSearchQuery(java.lang.String searchTerm, java.lang.String languageId, java.lang.String matchMode)
          Creates a compound Endeca field search using all of the defined "Inclusive" search fields.
 java.lang.String createEndecaRecordSearchQuery(java.lang.String fieldID, java.lang.String searchTerm, java.lang.String languageId)
           
 java.lang.String createEndecaRecordSearchQuery(java.lang.String fieldID, java.lang.String pSearchTerm, java.lang.String languageId, java.lang.String pMatchMode)
          Creates an Endeca field search query element.
 java.lang.String createRQLMapQuery(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
           
 void formatResults(IResultSet results)
          Applies all IFieldFormatter(s) registered with this SearchSource to an IResult.
 java.lang.String getCollection()
           
 DimValIdList getDimValIdList(OrderedMap inputParameters)
           
 java.lang.String getFreeTextField()
           
 EndecaSearchField[] getFreeTextFields()
           
 java.lang.String getHost()
           
 ENEQuery getNavigationQuery()
           
static ENEQuery getNavigationQuery(ENEQuery query, long[] refinementDimensionList)
           
 ENEQuery getNavigationQuery(long[] refinementDimensionList)
           
 int getPort()
           
 ENEQuery getQuery(OrderedMap inputParameters, int pSize, int startRecord)
          Creates an Endeca ENEQuery from the set of input parameters and defined fields in this Endeca SearchSource.
 IQueryProcessor getQueryProcessor()
          returns the type of QueryProcessor that can access this SearchSource.
 ERecSortKeyList getSortKey(OrderedMap inputParameters)
           
 ENEQuery getTopicQuery(OrderedMap inputParameters, int pSize, int startRec)
           
 boolean includesDimensionSearch()
           
 void setBlankQueryReturnsAll(boolean blankQueryReturnsAll)
           
 void setCollection(java.lang.String collection)
           
 void setDefaultMatchMode(java.lang.String defaultMatchMode)
           
 void setDimensionSearchFields(java.util.List dimensionSearchFields)
           
 void setHost(java.lang.String host)
           
 void setPort(java.lang.String port)
           
 void setUseEndecaMatchesFunction(boolean useEndecaMatchesFunction)
           
 boolean usesTopicRenderer()
           
 
Methods inherited from class com.raritantechnologies.searchApp.SearchSource
addFieldFormatter, addSearchField, addSourceAttributes, addStaticField, addStaticFields, addUserSearchField, canAccess, canConsolidateSources, consolidateSources, delSearchField, formatResult, formatResult, formatResultField, formatResultField, formatResults, getAccessableFields, getAttributes, getBasePath, getConfigPath, getDisplayName, getFieldFormatters, getIDField, getName, getProperty, getSearchField, getSearchFieldID, getSearchFields, getSearchFields, getSecondarySortSpec, getSecurityManager, getSecurityManagerName, getSecurityModel, getSortSpec, getSourceCredentials, getSourcePropertyNames, getTitleField, getType, getURLField, getUserSearchFields, isMultiThreaded, setConfigPath, setDisplayName, setIDField, setMultiThreaded, setName, setSecurityManagerName, setSecurityModel, setSortMap, setSourcePropertyInfoSource, setTitleField, setType, setURLField, shouldFormatResults, supportsBackgroundSort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EndecaSearchSource

public EndecaSearchSource()
Method Detail

getFreeTextField

public java.lang.String getFreeTextField()

getQueryProcessor

public IQueryProcessor getQueryProcessor()
Description copied from class: SearchSource
returns the type of QueryProcessor that can access this SearchSource.

Specified by:
getQueryProcessor in class SearchSource

setHost

public void setHost(java.lang.String host)

getHost

public java.lang.String getHost()

setPort

public void setPort(java.lang.String port)

getPort

public int getPort()

setCollection

public void setCollection(java.lang.String collection)

getCollection

public java.lang.String getCollection()

setDefaultMatchMode

public void setDefaultMatchMode(java.lang.String defaultMatchMode)

formatResults

public void formatResults(IResultSet results)
Description copied from class: SearchSource
Applies all IFieldFormatter(s) registered with this SearchSource to an IResult. Generally used to convert source-specific format to common or normalized formats or to correct data errors or anomalies.

Overrides:
formatResults in class SearchSource

usesTopicRenderer

public boolean usesTopicRenderer()

setDimensionSearchFields

public void setDimensionSearchFields(java.util.List dimensionSearchFields)

setUseEndecaMatchesFunction

public void setUseEndecaMatchesFunction(boolean useEndecaMatchesFunction)

setBlankQueryReturnsAll

public void setBlankQueryReturnsAll(boolean blankQueryReturnsAll)

getQuery

public ENEQuery getQuery(OrderedMap inputParameters,
                         int pSize,
                         int startRecord)
Creates an Endeca ENEQuery from the set of input parameters and defined fields in this Endeca SearchSource.


getSortKey

public ERecSortKeyList getSortKey(OrderedMap inputParameters)

getDimValIdList

public DimValIdList getDimValIdList(OrderedMap inputParameters)

createCompoundQuery

public java.lang.String createCompoundQuery(OrderedMap inputParameters,
                                            java.lang.String language)

createRQLMapQuery

public java.lang.String createRQLMapQuery(OrderedMap params,
                                          java.lang.String language,
                                          ILoginInfo userInfo)
                                   throws QueryParseException,
                                          UnsupportedLanguageException
Throws:
QueryParseException
UnsupportedLanguageException

createEndecaRecordSearchQuery

public java.lang.String createEndecaRecordSearchQuery(java.lang.String fieldID,
                                                      java.lang.String searchTerm,
                                                      java.lang.String languageId)

createEndecaRecordSearchQuery

public java.lang.String createEndecaRecordSearchQuery(java.lang.String fieldID,
                                                      java.lang.String pSearchTerm,
                                                      java.lang.String languageId,
                                                      java.lang.String pMatchMode)
Creates an Endeca field search query element.


createEndecaExpandedRecordSearchQuery

public java.lang.String createEndecaExpandedRecordSearchQuery(java.lang.String searchTerm,
                                                              java.lang.String languageId)

createEndecaExpandedRecordSearchQuery

public java.lang.String createEndecaExpandedRecordSearchQuery(java.lang.String searchTerm,
                                                              java.lang.String languageId,
                                                              java.lang.String matchMode)
Creates a compound Endeca field search using all of the defined "Inclusive" search fields.


getTopicQuery

public ENEQuery getTopicQuery(OrderedMap inputParameters,
                              int pSize,
                              int startRec)

includesDimensionSearch

public boolean includesDimensionSearch()

addDimensionSearch

public void addDimensionSearch(OrderedMap inputParameters,
                               ENEQuery eneQuery)

getFreeTextFields

public EndecaSearchField[] getFreeTextFields()

getNavigationQuery

public ENEQuery getNavigationQuery()

getNavigationQuery

public ENEQuery getNavigationQuery(long[] refinementDimensionList)

getNavigationQuery

public static ENEQuery getNavigationQuery(ENEQuery query,
                                          long[] refinementDimensionList)