|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.search.CmsSearchParameters
Contains the search parameters for a call to
.CmsSearchIndex.search(org.opencms.file.CmsObject, CmsSearchParameters, int)
Primary purpose is translation of search arguments to response parameters and from request parameters as well as support for creation of restrictions of several search query parameter sets.
Field Summary | |
protected CmsSearchIndex |
m_index
The index to search. |
protected int |
m_page
The current result page. |
protected int |
m_queryLength
The minimum length of the search query. |
static org.apache.lucene.search.Sort |
SORT_DATE_CREATED
Sort result documents by date of creation, then score. |
static org.apache.lucene.search.Sort |
SORT_DATE_LASTMODIFIED
Sort result documents by date of last modification, then score. |
static org.apache.lucene.search.Sort |
SORT_DEFAULT
Default sort order (by document score - for this null gave best performance). |
static java.lang.String[] |
SORT_NAMES
Names of the default sort options. |
static org.apache.lucene.search.Sort |
SORT_TITLE
Sort result documents by title, then score. |
Constructor Summary | |
CmsSearchParameters()
Creates a new search parameter instance with no search query and default values for the remaining parameters. |
|
CmsSearchParameters(java.lang.String query)
Creates a new search parameter instance with the provided search query and default values for the remaining parameters. |
|
CmsSearchParameters(java.lang.String query,
java.util.List fields,
java.util.List roots,
java.util.List categories,
boolean calculateCategories,
org.apache.lucene.search.Sort sort)
Creates a new search parameter instance with the provided parameter values. |
Method Summary | |
boolean |
getCalculateCategories()
Returns wether category counts are calculated for search results or not. |
java.util.List |
getCategories()
Returns the list of categories to limit the search to. |
java.util.List |
getFields()
Returns the list of search index fields to search in. |
java.lang.String |
getIndex()
Get the name of the index for the search. |
java.lang.String |
getQuery()
Returns the search query to use. |
int |
getQueryLength()
Gets the minimum search query length. |
java.util.List |
getRoots()
Returns the list of strings of search roots to use. |
java.lang.String |
getSearchCategories()
Returns the list of categories to limit the search to. |
boolean |
getSearchFieldContent()
Returns wether the content field will be searched or not. |
boolean |
getSearchFieldDescription()
Returns wether the description field will be searched or not. |
boolean |
getSearchFieldKeywords()
Returns wether the keywords field will be searched or not. |
boolean |
getSearchFieldMeta()
Returns wether the meta field will be searched or not. |
boolean |
getSearchFieldTitle()
Returns wether the title field will be searched or not. |
CmsSearchIndex |
getSearchIndex()
Returns the search index to search in or null if not set before ( ). |
int |
getSearchPage()
Returns the search page to display. |
java.lang.String |
getSearchRoots()
Returns the comma separated lists of root folder names to restrict search to. |
org.apache.lucene.search.Sort |
getSort()
Returns the instance that defines the sort order for the results. |
java.lang.String |
getSortName()
Returns the name of the sort option being used. |
boolean |
isCalculateCategories()
Returns true if the category count is calculated for all search results. |
CmsSearchParameters |
restrict(CmsSearchParameters restriction)
Creates a merged parameter set from this parameters, restricted by the given other parameters. |
void |
setCalculateCategories(boolean flag)
Set wether category counts shall be calculated for the corresponding search results or not. |
void |
setCategories(java.util.List categories)
Set the list of categories (strings) to this parameters. |
void |
setFields(java.util.List fields)
Sets the list of strings of names of fields to search in. |
void |
setIndex(java.lang.String indexName)
Set the name of the index to search. |
void |
setQuery(java.lang.String query)
Sets the query to search for. |
void |
setQueryLength(int length)
Sets the minimum length of the search query. |
void |
setRoots(java.util.List roots)
Sets the list of strings of roots to search under for the search. |
void |
setSearchCategories(java.lang.String categories)
Set the comma separated search root names to restrict search to. |
void |
setSearchFieldContent(boolean flag)
Set wether the content field should be searched. |
void |
setSearchFieldDescription(boolean flag)
Set wether the description field should be searched. |
void |
setSearchFieldKeywords(boolean flag)
Set wether the title field should be searched. |
void |
setSearchFieldMeta(boolean flag)
Set wether the meta field should be searched. |
void |
setSearchFieldTitle(boolean flag)
Set wether the title field should be searched. |
void |
setSearchIndex(CmsSearchIndex index)
Sets the search index to use for the search. |
void |
setSearchPage(int page)
Set the search page to display. |
void |
setSearchRoots(java.lang.String rootNameList)
Set the comma separated search root names to restrict search to. |
void |
setSort(org.apache.lucene.search.Sort sortOrder)
Set the instance that defines the sort order for search results. |
void |
setSortName(java.lang.String sortName)
Sets the internal member of type according to
the given sort name. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final org.apache.lucene.search.Sort SORT_DATE_CREATED
public static final org.apache.lucene.search.Sort SORT_DATE_LASTMODIFIED
public static final org.apache.lucene.search.Sort SORT_DEFAULT
null
gave best performance).
public static final java.lang.String[] SORT_NAMES
public static final org.apache.lucene.search.Sort SORT_TITLE
protected CmsSearchIndex m_index
protected int m_page
protected int m_queryLength
Constructor Detail |
public CmsSearchParameters()
Before using this search parameters for a search method
has to be invoked. setQuery(String)
public CmsSearchParameters(java.lang.String query)
Only the "meta" field (combination of content and title) will be used for search. No search root restriction is chosen. No category restriction is used. No categorie counts are calculated for the result. Sorting is turned off. This is a simple but fast setup.
query
- the query to search forpublic CmsSearchParameters(java.lang.String query, java.util.List fields, java.util.List roots, java.util.List categories, boolean calculateCategories, org.apache.lucene.search.Sort sort)
query
- the search term to search the indexfields
- the list of fields to searchroots
- only resource that are sub-resource of one of the search roots are included in the search resultcategories
- the list of categories to limit the search tocalculateCategories
- if true
, the category count is calculated for all search results
(use with caution, this option uses much performance)sort
- the sort order for the searchMethod Detail |
public boolean getCalculateCategories()
public java.util.List getCategories()
public java.util.List getFields()
public java.lang.String getIndex()
public java.lang.String getQuery()
public int getQueryLength()
public java.util.List getRoots()
Only resource that are sub-resource of one of the search roots are included in the search result.
public java.lang.String getSearchCategories()
public boolean getSearchFieldContent()
I_CmsDocumentFactory.DOC_CONTENT
public boolean getSearchFieldDescription()
I_CmsDocumentFactory.DOC_DESCRIPTION
public boolean getSearchFieldKeywords()
I_CmsDocumentFactory.DOC_KEYWORDS
public boolean getSearchFieldMeta()
I_CmsDocumentFactory.DOC_META
public boolean getSearchFieldTitle()
I_CmsDocumentFactory.DOC_TITLE_INDEXED
public CmsSearchIndex getSearchIndex()
setSearchIndex(CmsSearchIndex)
).
setSearchIndex(CmsSearchIndex)
)public int getSearchPage()
public java.lang.String getSearchRoots()
This method is a "sibling" to method
but with
the support of being useable with widget technology. getRoots()
setSortName(String)
public org.apache.lucene.search.Sort getSort()
public java.lang.String getSortName()
SORT_NAMES
,
setSortName(String)
public boolean isCalculateCategories()
true
if the category count is calculated for all search results.
true
if the category count is calculated for all search resultspublic CmsSearchParameters restrict(CmsSearchParameters restriction)
This is mainly intended for "search in search result" functions.
The restricted query is build of the queries of both parameters, appended with AND.
The lists in the restriction for
, getFields()
and
getRoots()
are intersected with the lists of this search parameters. Only
elements containd in both lists are included for the created search parameters.
If a list in either the restriction or in this search parameters is getCategories()
null
,
the list from the other search parameters is used direclty.
The values for
and isCalculateCategories()
of this parameters are used for the restricted parameters.getSort()
restriction
- the parameters to restrict this parameters with
public void setCalculateCategories(boolean flag)
flag
- true if category counts shall be calculated for the corresponding search results or false if notpublic void setCategories(java.util.List categories)
categories
- the list of categories (strings) of this parameterspublic void setFields(java.util.List fields)
fields
- the list of strings of names of fields to search in to setpublic void setIndex(java.lang.String indexName)
indexName
- the name of the indexpublic void setQuery(java.lang.String query)
The decoding here is tailored for query strings that are additionally manually utf-8 encoded at client side (javascript) to get around an issue with special chars in applications that use non- utf-8 encoding (e.g. ISO-8859-1) OpenCms applications. It is not recommended to use this with frontends that don't encode manually as characters like sole "%" (without number suffix) will cause an Exception.
query
- the querye to search for to setpublic void setQueryLength(int length)
length
- the minimum search query lengthpublic void setRoots(java.util.List roots)
roots
- the list of strings of roots to search under for the search to setpublic void setSearchCategories(java.lang.String categories)
categories
- the comma separated category names to restrict search topublic void setSearchFieldContent(boolean flag)
This method is a widget support for
.CmsCheckboxWidget
flag
- true if the field I_CmsDocumentFactory.DOC_CONTENT
shall be searched - false elsepublic void setSearchFieldDescription(boolean flag)
This method is a widget support for
.CmsCheckboxWidget
flag
- true if the field I_CmsDocumentFactory.DOC_DESCRIPTION
shall be searched - false elsepublic void setSearchFieldKeywords(boolean flag)
This method is a widget support for
.CmsCheckboxWidget
flag
- true if the field I_CmsDocumentFactory.DOC_KEYWORDS
shall be searched - false elsepublic void setSearchFieldMeta(boolean flag)
This method is a widget support for
.CmsCheckboxWidget
flag
- true if the field I_CmsDocumentFactory.DOC_META
shall be searched - false elsepublic void setSearchFieldTitle(boolean flag)
This method is a widget support for
.CmsCheckboxWidget
flag
- true if the field I_CmsDocumentFactory.DOC_TITLE_INDEXED
shall be searched - false elsepublic void setSearchIndex(CmsSearchIndex index) throws CmsIllegalArgumentException
index
- the search index to use for the search to set.
CmsIllegalArgumentException
- if null is given as argumentpublic void setSearchPage(int page)
page
- the search page to displaypublic void setSearchRoots(java.lang.String rootNameList)
rootNameList
- the comma separated search root names to restrict search topublic void setSort(org.apache.lucene.search.Sort sortOrder)
sortOrder
- the instance that defines the sort order for search results to setpublic void setSortName(java.lang.String sortName)
Sort
according to
the given sort name.
For a list of valid sort names, please see
.SORT_NAMES
sortName
- the name of the sort to useSORT_NAMES
public java.lang.String toString()
Object.toString()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |