|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
IAttributeSetReader | Provides a common way to read attribute values, which consist in information exchanged between the portal and the search engines. |
Class Summary | |
---|---|
CriteriaUtil | Evaluates if an attribute set matches an specified criteria. |
Indexer | Stores searcheable data in a search engine. |
IndexerFactory | Creates instances of concrete Indexer implementations. |
Processor | Represents an element that interacts to an index and provides searching services, such as indexing and searching, according to configuration in Search Config File (SearchConfig.xml). |
SearchAttributes | Set of attributes aggregated to a SearchQuery , a SearchHit or a SearchResults . |
SearchContent | Unit of searchable information, containing one or more SearchContentField objects. |
SearchContentField | Field of a SearchContent object. |
SearchContext | Context for search infrastructure, that gives access to search configuration. |
Searcher | Searchs for data in a search engine. |
SearcherFactory | Creates instances of concrete Searcher implementations. |
SearchHit | An item of a SearchResults object. |
SearchQuery | Represents search criteria used to find matching information by a search engine. |
SearchResults | Represents a collection of hits returned by a query
execution . |
SearchStringResource | Strings resource for search infra-structure. |
SmartTagUtil | Utility class that replaces EL field variables by related field values, to be used in search configuration in searchconfig.xml file. |
Exception Summary | |
---|---|
SearchException | Search infra-structure related exception. |
Provides classes for implementing search services integrated to Lumis Portal.
Lumis Portal comes with an implementation of search engine based on Apache Lucene. It's the default search engine used. Portals based on Lumis Portal have a configuration that allows the use of one or more compatible search engines to index and search for services data.
When you have data that needs to be searchable, it has to be indexed first. The indexing process is done
by an Indexer
implementation. Then, later, when, for example, an user requests a
data search, a search is executed by a Searcher
implementation.
A searchable information is any textual information that can be stored by a search engine and later be found by some textual criteria such as keywords and text fragments.
Portal services can deal with several kinds of information, such as news, articles, images and files. Any kind of information can be considered "searchable" once it has some textual portion. For example, a news is a typical textual content and obviously searchable. In other hand, an image can considered "searchable" only if it has some aggregated textual information, such as image authoring or description. A file will be searchable only if its format allows text extraction.
Once the textual searchable information was given or extracted from original information, it can be indexed and searched using the infra-structure present in this package.
A searchable information is encapsulated in a SearchContent
object.
A searchable information is composed by one or more fields, each of them having a name and one or more string values.
A field is represented by a SearchContentField
object.
There are five predefined field types:
Identifier
: identifies the information;
Title
: title of the information;
Subtitle
: subtitle of the information;
URL
: URL to the information details;
Text
: searchable text of the information.
A search engine is a subsystem that provides indexing and searching functionality to the portal infra-structure.
Basically, a search engine is a set of implementations for Indexer
and Searcher
implementations that has a configuration section in the configuration
file.
The default search engine that comes with Lumis Portal is an implementation based on Apache Lucene, a popular Information Retrieval framework that stores searchable information on indexes in the file system.
Custom search engines can be implemented to integrate a portal solution to other search engines and IR frameworks.
Indexing is the action of storing a searchable information, in a way that allows to find this information using text search criterias, such as keywords or information fragments.
A typical data indexing cycle is composed by the following steps:
SearchContent
object, that contains one or more
SearchContentField
objects, is populated with the data;Indexer
, related to the selected
search engine, is instantiated;SearchContent
object is indexed using
Indexer.addSearchContent(SearchContent)
and
Indexer.mergeSearchContent(SearchContent)
methods.Some search engines can pre-process the information before it is stored, to perform some common actions, like case normalization, common words cleaning etc.
A search engine provides indexing functionality through an implementation of the
Indexer
class, that receives the searchable information to be indexed in
a SearchContent
object, which has a collection of
SearchContentField
objects.
Searching is the action of find an information based on a certain criteria, usually a portion of the original information. This portion can be a keyword given by the user or any fragment of information that can be used to match one or more previosly indexed informations.
A typical search cycle consists in the following steps:
SearchQuery
object is populated with the user-entered search
criteria;Searcher
, related to the selected
search engine, is instantiated;Searcher.search(SearchQuery)
method;SearchResults
object, that contains
one SearchHit
object for each result that matches the criteria.Some search engines, like the default search engine, provide advanced features that can be used in search criterias, such as wildcards and boolean operators.
A search engine provides searching functionality through an implementation of the
Searcher
class, that receives the search criteria in
a SearchQuery
object. The search results returns from the search engine in a
SearchResults
object, which has one SearchHit
object for
each searchable information that matches the given search criteria.
The Lumis Portal's search infra-structure can be configured using the configuration file
searchconfig.xml
, that can be found in the data/config
directory.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |