Package wwsrc_api
This package contains APIs for searching Oracle Portal.
All of the APIs in this package assume that the context has been
set for the functions to execute as a specific Oracle Portal user
(using wwctx_api procedure - wwctx_api.set_context().
The main search APIs described in this package are:
page_search()
item_search()
category_search()
perspective_search()
Note: You build up search attribute criteria for these APIs using
the specify_attributes() procedure.
For more information about these APIs and examples of how to use them,
refer to the Oracle Application Server Developer's Guide, available
on the Oracle Technology Network.
(http://www.oracle.com/technology/products/ias/portal).
- Scope:
-
Public
| Function/Procedure Summary |
category_search
Searches for categories and returns the category results rows
in the form of an array of wwsbr_all_categories records. | cats_result_array_type |
get_all_items_xml
Return an XML document describing the given item result set from the
search result array of items. | clob |
get_all_pages_xml
Return an XML document describing the given page result set from the
search result array of pages. | clob |
get_item_xml
Returns an XML document describing the given item from the
search result record for this resource. | clob |
get_page_xml
Returns an XML document describing the given page from the
search result record for this resource. | clob |
item_search
Searches for items and returns the item results rows in the form
of an array of wwsbr_all_items records. | items_result_array_type |
page_search
Searches for pages and returns the page results rows in the form
of an array of wwsbr_all_folders records. | pages_result_array_type |
perspective_search
Searches for perspectives and returns the perspective results rows
in the form of an array of wwsbr_all_perspectives records. | persps_result_array_type |
specify_attributes
Builds up the search attribute criteria for the search APIs (item_search()
, page_search(), etc) by storing the attributes in an array based on
wwsrc_runtime_attr_varray() object. | |
ATTRIBUTE_NOT_INDEXED
ATTRIBUTE_NOT_INDEXED exception
-
Oracle Text returned DRG-10837 : Attribute Not Indexed Error.
The indexes for one or more attributes need to be updated.
The attributes cannot be used in the search until the indexes
are next synchronized. To synchronize all the Oracle Text indexes,
execute wwv_context.sync().
GENERAL_ORACLE_TEXT_ERROR
GENERAL_ORACLE_TEXT_ERROR exception
-
A general Oracle Text error was reported.
KNOWLEDGE_BASE_EXCEPTION
KNOWLEDGE_BASE_EXCEPTION exception
-
Search returned Knowledge base exception.
DRG-11446,11422,11432: Supplied knowledge base file is not installed
(Oracle Text installation is incomplete).
NO_SEARCH_VALUE
NO_SEARCH_VALUE exception
-
The search failed as no search terms were provided.
PERMISSION_DENIED
PERMISSION_DENIED exception
-
Permission denied when requesting XML for a given result.
QUERY_LANGUAGE_SYNTAX_ERROR
QUERY_LANGUAGE_SYNTAX_ERROR exception
-
Oracle Text returned Syntax Error in Query Language used for Search
(usually syntax of p_mainsearch parameter).
QUERY_TOO_COMPLEX
QUERY_TOO_COMPLEX exception
-
The Oracle Text query was too complex to process.
RESOURCE_NOT_FOUND
RESOURCE_NOT_FOUND exception
-
Resource can no longer be found when requesting XML for a given result.
SEARCH_FAILURE_EXCEPTION
SEARCH_FAILURE_EXCEPTION exception
-
Unhandled Search API Failure caused by either Portal or Oracle Text.
WILDCARD_EXPANSION_EXCEPTION
WILDCARD_EXPANSION_EXCEPTION exception
-
Oracle Text returned DRG-51030: Wildcard expansion resulted
in too many terms. Restrict the search and try again.
cats_result_array_type
type cats_result_array_type is table of cats_result_type index by binary_integer
-
Array of search result records for categories.
cats_result_type
subtype cats_result_type is wwsbr_all_categories%rowtype
-
Search result record for categories.
items_result_array_type
type items_result_array_type is table of items_result_type index by binary_integer
-
Array of search result records for items.
items_result_type
subtype items_result_type is wwsbr_all_items%rowtype
-
Search result record for items.
number_list_type
type number_list_type is table of number index by binary_integer
-
A type used for a list of numbers.
This type is used for listing the page group IDs of all the page groups
to be searched and for holding the list of scores.
- Fields:
-
number - A number in the list
pages_result_array_type
type pages_result_array_type is table of pages_result_type index by binary_integer
-
Array of search result records for pages.
pages_result_type
subtype pages_result_type is wwsbr_all_folders%rowtype
-
Search result record for pages.
perspective_list_type
type perspective_list_type is table of perspective_type index by binary_integer
-
Type for making a list of perspectives for use with p_perspective_list.
- Fields:
-
perspective_type - A perspective record in the list
perspective_type
type perspective_type is record (
perspective_id number,
perspective_siteid number
)
-
Type for making a perspective record for use with perspective_list_type.
- Fields:
-
perspective_id - the ID of the perspective -
perspective_siteid - the site ID of the perspective
persps_result_array_type
type persps_result_array_type is table of persps_result_type index by binary_integer
-
Array of search result records for perspectives.
persps_result_type
subtype persps_result_type is wwsbr_all_perspectives%rowtype
-
Search result record for perspectives.
CONTAINS_ALL
CONTAINS_ALL constant varchar2(20) := wwsbr_search_constants . CONTAINS_ALL
CONTAINS_ANY
CONTAINS_ANY constant varchar2(20) := wwsbr_search_constants . CONTAINS_ANY
DATA_TYPE_BOOLEAN
DATA_TYPE_BOOLEAN constant varchar2(20) := wwv_attributedb . DATA_TYPE_BOOLEAN
DATA_TYPE_DATE
DATA_TYPE_DATE constant varchar2(20) := wwv_attributedb . DATA_TYPE_DATE
DATA_TYPE_FILE
DATA_TYPE_FILE constant varchar2(20) := wwv_attributedb . DATA_TYPE_FILE
-
DATA_TYPE_NUMBER
DATA_TYPE_NUMBER constant varchar2(20) := wwv_attributedb . DATA_TYPE_NUMBER
DATA_TYPE_PLSQL
DATA_TYPE_PLSQL constant varchar2(20) := wwv_attributedb . DATA_TYPE_PLSQL
DATA_TYPE_TEXT
DATA_TYPE_TEXT constant varchar2(20) := wwv_attributedb . DATA_TYPE_TEXT
DATA_TYPE_URL
DATA_TYPE_URL constant varchar2(20) := wwv_attributedb . DATA_TYPE_URL
EQUALS_ANY
EQUALS_ANY constant varchar2(20) := wwsbr_search_constants . EQUALS_ANY
EQUALS_TO
EQUALS_TO constant varchar2(20) := wwsbr_search_constants . EQUALS_TO
-
FILENAME_LIKE_ALL
FILENAME_LIKE_ALL constant varchar2(20) := wwsbr_search_constants . FILENAME_LIKE_ALL
FILENAME_LIKE_ANY
FILENAME_LIKE_ANY constant varchar2(20) := wwsbr_search_constants . FILENAME_LIKE_ANY
FUZZY_ALL
FUZZY_ALL constant varchar2(20) := wwsbr_search_constants . FUZZY_ALL
FUZZY_ANY
FUZZY_ANY constant varchar2(20) := wwsbr_search_constants . FUZZY_ANY
GREATER_THAN
GREATER_THAN constant varchar2(20) := wwsbr_search_constants . GREATER_THAN
LESS_THAN
LESS_THAN constant varchar2(20) := wwsbr_search_constants . LESS_THAN
LIKE_ALL
LIKE_ALL constant varchar2(20) := wwsbr_search_constants . LIKE_ALL
LIKE_ANY
LIKE_ANY constant varchar2(20) := wwsbr_search_constants . LIKE_ANY
MATCH_ALL
MATCH_ALL constant varchar2(3) := wwsbr_search_constants . ALL_SEARCH
-
MATCH_ANY
MATCH_ANY constant varchar2(3) := wwsbr_search_constants . ANY_SEARCH
MAX_ROWS
MAX_ROWS constant number := 1000
-
Default value for the maximum number of results returned from the
search query.
NEAR
NEAR constant varchar2(20) := wwsbr_search_constants . NEAR
ORDERBY_ASCENDING
ORDERBY_ASCENDING constant varchar2(20) := wwsbr_search_constants . ASCENDING
-
ORDERBY_DESCENDING
ORDERBY_DESCENDING constant varchar2(20) := wwsbr_search_constants . DESCENDING
QUERY_LANGUAGE
QUERY_LANGUAGE constant varchar2(20) := wwsbr_search_constants . QUERY_LANGUAGE
SOUNDEX_ALL
SOUNDEX_ALL constant varchar2(20) := wwsbr_search_constants . SOUNDEX_ALL
SOUNDEX_ANY
SOUNDEX_ANY constant varchar2(20) := wwsbr_search_constants . SOUNDEX_ANY
URL_LIKE_ALL
URL_LIKE_ALL constant varchar2(20) := wwsbr_search_constants . URL_LIKE_ALL
URL_LIKE_ANY
URL_LIKE_ANY constant varchar2(20) := wwsbr_search_constants . URL_LIKE_ANY
empty_number_list
empty_number_list number_list_type
-
An empty number list of number_list_type.
empty_perspective
empty_perspective perspective_type
-
An empty perspective record of perspective_type.
empty_perspective_list
empty_perspective_list perspective_list_type
-
An empty perspective record list of perspective_list_type.
| Function/Procedure Detail |
category_search
function category_search(
p_mainoperator in varchar2 default contains_all,
p_mainsearch in varchar2 default null,
p_page_groups in number_list_type default empty_number_list,
p_orderbyid in number default null,
p_orderbysiteid in number default null,
p_orderbydir in varchar2 default null,
p_firsthit in number default 1,
p_rows in number default max_rows,
p_out_count out number,
p_out_scores out number_list_type
) return cats_result_array_type-
Searches for categories and returns the category results rows
in the form of an array of wwsbr_all_categories records.
- Parameters:
p_mainoperator - keyword operator to be used in the search.
Valid Operator values are defined as
constants in this package (CONTAINS_ANY,
EQUAL_TO, etc - see Search operators constants)
Some operators may only be used when
Oracle Text is enabled, others may only
be used when Oracle Text is disabled
Default value is CONTAINS_ALLp_mainsearch - keyword, or term to search for - this may
be any value including an Oracle Text
search stringp_page_groups - IDs of the page groups to be searched,
use the default value of empty_number_list
for all page groups, otherwise, pass an array
of idsp_orderById - ID of the attribute with which to order
search results. Only base table attributes
can be usedp_orderBySiteId - site ID of the attribute being used to order
search results, ignored unless p_orderById is
passedp_orderByDir - indicates whether to order results ascending
or descending, ignored unless p_orderById is
passed. Valid values are ORDERBY_ASCENDING
or ORDERBY_DESCENDINGp_firsthit - starting row in current page, null or 1 to
start from the beginning. Defaults to 1 if omitted.
This parameter can be used with p_rows to paginate
the resultsp_rows - maximum number of rows to return, this value
defaults to the value of MAX_ROWSp_out_count - total count of search resultsp_out_scores - array of scores for search results, the index
of the array matches the index of the results
array returned by the function- Returns:
- Array containing search results. The number of search results
returned is less than or equal to the value specified for p_rows
- Exceptions:
-
NO_SEARCH_VALUE - The search failed as no search terms were
provided -
WILDCARD_EXPANSION_EXCEPTION - Oracle Text returned.
DRG-51030: wildcard query expansion resulted in too many
terms -
KNOWLEDGE_BASE_EXCEPTION - Oracle Text returned.
DRG-11446,11422,11432: Supplied knowledge base file not
installed (Oracle Text installation incomplete) -
ATTRIBUTE_NOT_INDEXED - Oracle Text returned
DRG-10837 : Attribute Not Indexed Error
Resync the indexes -
QUERY_LANGUAGE_SYNTAX_ERROR - Oracle Text returned
Syntax Error in Query Language (usually p_mainsearch) -
SEARCH_FAILURE_EXCEPTION - An internal exception was raised by
the Portal or Oracle Text code - Since:
-
10.1.4
get_all_items_xml
function get_all_items_xml(
p_item_results in items_result_array_type
) return clob-
Return an XML document describing the given item result set from the
search result array of items.
Note that the user must have view privileges on each resource. The
XML Schema documents for the XML produced by this function can be
viewed at:
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_xdb_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ptl_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ctm_xsd
Example:
DECLARE
l_user_name varchar2(60) := 'GEORGE';
l_password varchar2(60) := 'WELCOME1';
l_company varchar2(60) := NULL;
l_results wwsrc_api.items_result_array_type;
l_scores wwsrc_api.number_list_type;
l_count number;
l_clob clob;
l_amount binary_integer := 250;
l_offset number := 1;
l_text varchar2(32767);
BEGIN
wwctx_api.set_context(l_user_name, l_password, l_company);
-- Perform the search
l_results := wwsrc_api.item_search(
p_mainsearch => 'portal',
p_max_rows => 100,
p_out_count => l_count,
p_out_scores => l_scores
);
dbms_output.put_line('Number of Results : ' || l_count);
dbms_output.put_line('Number of Results in Set : ' || l_results.count);
l_amount := 255;
l_offset := 1;
begin
l_clob := wwsrc_api.get_all_items_xml(l_results);
dbms_lob.open(l_clob, dbms_lob.file_readonly);
loop
dbms_lob.read(l_clob, l_amount, l_offset, l_text);
dbms_output.put(l_text);
l_offset := l_offset+l_amount;
exit when l_amount < 250;
end loop;
dbms_lob.close(l_clob);
exception
when wwsrc_api.RESOURCE_NOT_FOUND then
dbms_output.put_line('Resource has been moved/deleted');
when wwsrc_api.PERMISSION_DENIED then
dbms_output.put_line('Unable to access Resource');
end;
EXCEPTION
when wwsrc_api.SEARCH_FAILURE_EXCEPTION then
dbms_output.put_line('Internal Exception (wwsrc)');
when wwerr_api_exception.INTERNAL_EXCEPTION then
dbms_output.put_line('Internal Exception (wwerr)');
WHEN OTHERS THEN
dbms_output.put_line(SubStr('Error ' ||
TO_CHAR(SQLCODE)||': '||SQLERRM, 1, 255));
RAISE;
END;
- Returns:
- A clob containing an XML document describing the item result set
- Exceptions:
-
RESOURCE_NOT_FOUND - The resource has been moved or deleted
since the search was run -
PERMISSION_DENIED - The resource is not available to the
current user, or is on a template -
SEARCH_FAILURE_EXCEPTION - An internal exception - Since:
-
10.1.4
get_all_pages_xml
function get_all_pages_xml(
p_page_results in pages_result_array_type
) return clob-
Return an XML document describing the given page result set from the
search result array of pages.
Note that the user must have view privileges on each resource. The
XML Schema documents for the XML produced by this function can be
viewed at:
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_xdb_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ptl_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ctm_xsd
For an example, see get_all_items_xml().
- Returns:
- A clob containing an XML document describing the page result set
- Exceptions:
-
RESOURCE_NOT_FOUND - The resource has been moved or deleted
since the search was run -
PERMISSION_DENIED - The resource is not available to the
current user, or is on a template -
SEARCH_FAILURE_EXCEPTION - An internal exception - Since:
-
10.1.4
get_item_xml
function get_item_xml(
p_result in items_result_type
) return clob-
Returns an XML document describing the given item from the
search result record for this resource.
Note that the user must have View privileges on this resource. The
XML schema documents for the XML produced by this function can be
viewed at:
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_xdb_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ptl_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ctm_xsd
Example:
DECLARE
l_user_name varchar2(60) := 'GEORGE';
l_password varchar2(60) := 'WELCOME1';
l_company varchar2(60) := NULL;
l_results wwsrc_api.items_result_array_type;
l_count number;
l_scores wwsrc_api.number_list_type;
l_clob clob;
l_amount binary_integer := 250;
l_offset number := 1;
l_text varchar2(32767);
BEGIN
wwctx_api.set_context(l_user_name, l_password, l_company);
-- Perform the search
l_results := wwsrc_api.item_search(
p_mainsearch => 'portal',
p_out_count => l_count,
p_out_scores => l_scores
);
dbms_output.put_line('Number of Results : ' || l_count);
dbms_output.put_line('Number of Results in Set : ' || l_results.count);
for i in 1..l_results.count loop
dbms_output.put_line(i || ' - ' || l_results(i).id);
dbms_output.put_line(' Score = ' || l_scores(i));
l_amount := 255;
l_offset := 1;
begin
l_clob := wwsrc_api.get_item_xml(l_results(i));
dbms_lob.open(l_clob, dbms_lob.file_readonly);
loop
dbms_lob.read(l_clob, l_amount, l_offset, l_text);
dbms_output.put(l_text);
l_offset := l_offset+l_amount;
exit when l_amount < 250;
end loop;
dbms_lob.close(l_clob);
exception
when wwsrc_api.RESOURCE_NOT_FOUND then
dbms_output.put_line('Resource has been moved/deleted');
when wwsrc_api.PERMISSION_DENIED then
dbms_output.put_line('Unable to access Resource');
end;
dbms_output.put_line('.');
end loop;
EXCEPTION
when wwsrc_api.SEARCH_FAILURE_EXCEPTION then
dbms_output.put_line('Internal Exception (wwsrc)');
when wwerr_api_exception.INTERNAL_EXCEPTION then
dbms_output.put_line('Internal Exception (wwerr)');
WHEN OTHERS THEN
dbms_output.put_line(SubStr('Error ' ||
TO_CHAR(SQLCODE)||': '||SQLERRM, 1, 255));
RAISE;
END;
- Parameters:
p_result - the search result record for which to return the XML- Returns:
- a clob containing an XML document describing the resource
- Exceptions:
-
RESOURCE_NOT_FOUND - The resource has been moved or deleted
since the search was run -
PERMISSION_DENIED - The resource is not available to the
current user, or is on a template -
SEARCH_FAILURE_EXCEPTION - An internal exception - Since:
-
10.1.4
get_page_xml
function get_page_xml(
p_result in pages_result_type
) return clob-
Returns an XML document describing the given page from the
search result record for this resource.
Note that the user must have View privileges on this resource. The
XML schema documents for the XML produced by this function can be
viewed at:
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_xdb_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ptl_xsd
http://<portal>/portal/pls/<dad>/<schema>.wwsrc_app_xml.get_ctm_xsd
For an example, see get_item_xml().
- Parameters:
p_result - the search result record for which to return the XML- Returns:
- a clob containing an XML document describing the resource
- Exceptions:
-
RESOURCE_NOT_FOUND - The resource has been moved or deleted
since the search was run -
PERMISSION_DENIED - The resource is not available to the
current user, or is on a template -
SEARCH_FAILURE_EXCEPTION - An internal exception - Since:
-
10.1.4
item_search
function item_search(
p_mainoperator in varchar2 default contains_all,
p_mainsearch in varchar2 default null,
p_page_groups in number_list_type default empty_number_list,
p_folderid in number default null,
p_foldersiteid in number default null,
p_includesubfolder in boolean default true,
p_categoryid in number default null,
p_categorysiteid in number default null,
p_perspectives in perspective_list_type default empty_perspective_list,
p_perspectivesmatch in varchar2 default match_all,
p_includesubpersps in boolean default true,
p_itemtypeid in number default null,
p_itemtypesiteid in number default null,
p_attributes in wwsrc_runtime_attr_varray default wwsrc_runtime_attr_varray ( ),
p_attributesmatch in varchar2 default match_all,
p_orderbyid in number default null,
p_orderbysiteid in number default null,
p_orderbydir in varchar2 default null,
p_firsthit in number default 1,
p_rows in number default max_rows,
p_out_count out number,
p_out_scores out number_list_type
) return items_result_array_type-
Searches for items and returns the item results rows in the form
of an array of wwsbr_all_items records.
- Parameters:
p_mainoperator - keyword operator to be used in the search.
Valid Operator values are defined as
constants in this package (CONTAINS_ANY,
EQUAL_TO, etc - see Search operators constants)
Some operators may only be used when
Oracle Text is enabled, others may only
be used when Oracle Text is disabled
Default value is CONTAINS_ALLp_mainsearch - keyword, or term to search for - this may
be any value including an Oracle Text
search stringp_page_groups - IDs of the page groups to be searched,
use the default value of empty_number_list
for all page groups, otherwise, pass an array * of idsp_folderid - ID of the selected page to be searched if any,
if specified, then this page is the only page
searched (and optionally its sub pages)p_foldersiteid - site ID of the selected pages to be searched
if any, this must be specified if p_folderid
is specifiedp_includesubfolder - indicates whether to search sub pages,
(true or false), only used when p_folderid
is specifiedp_categoryid - returns results assigned to this category,
only, if null, returns all results
regardless of categoryp_categorysiteid - site ID of category specified above, if anyp_perspectives - return results assigned to all or any
of the perspectives listed
This is an array of (id, siteid) where id is
the perspective ID and siteid is the
perspective site ID. See perspective_list_type
Only the first perspective in the list is
used if Oracle Text is offp_perspectivesmatch - determines whether to MATCH_ALL perspectives
or MATCH_ANY perspectives in the list, the
default value is MATCH_ALL. It is ignored if
p_perspectives is not passed or if Oracle
Text is offp_includesubpersps - determines whether any
sub perspectives of the given list of
perspectives stated in p_perspectives are
included in the search criteria, ignored if
p_perspectives is not passed or if Oracle
Text is offp_itemtypeid - ID of the item subtype to be searched
(from wwv_thingsubtype). Note that this is
the actual subtype of the item,
not the base typep_itemtypesiteid - site ID of the item type to be searched,
ignored unless p_itemtypeid is passedp_attributes - an array of attributes to search for together
with their operator and values. Values for
this parameter can be built up by calling
specify_attributes(), see Example 3 in
the package introductionp_attributesmatch - indicates how to join all the attribute
predicates MATCH_ALL or MATCH_ANY, default
value is MATCH_ALL. It is ignored if
p_attributes is not passedp_orderById - ID of the attribute with which to order
search results. Only base table attributes
can be usedp_orderBySiteId - site ID of the attribute being used to order
search results, ignored unless p_orderById is
passedp_orderByDir - indicates whether to order results ascending
or descending, ignored unless p_orderById is
passed. Valid values are ORDERBY_ASCENDING
or ORDERBY_DESCENDINGp_firsthit - starting row in current page, null or 1 to
start from the beginning. Defaults to 1 if omitted.
This parameter can be used with p_rows to paginate
the resultsp_rows - maximum number of rows to return, this value
defaults to the value of MAX_ROWSp_out_count - total count of search resultsp_out_scores - an array of scores for the results, the index
of the array matches the index of the results
array returned by the function- Returns:
- Array containing search results. The number of search results
returned is less than or equal to the value specified for p_rows
- Exceptions:
-
NO_SEARCH_VALUE - The search failed as no search terms were
provided -
WILDCARD_EXPANSION_EXCEPTION - Oracle Text returned
DRG-51030: wildcard query expansion resulted in too many
terms -
KNOWLEDGE_BASE_EXCEPTION - Oracle Text returned
DRG-11446,11422,11432: Supplied knowledge base file not
installed (Oracle Text installation incomplete) -
ATTRIBUTE_NOT_INDEXED - Oracle Text returned
DRG-10837 : Attribute Not Indexed Error
Resync the indexes -
QUERY_LANGUAGE_SYNTAX_ERROR - Oracle Text returned
Syntax Error in Query Language (usually p_mainsearch) -
SEARCH_FAILURE_EXCEPTION - An internal exception was raised by
the Portal or Oracle Text - Since:
-
10.1.4
page_search
function page_search(
p_mainoperator in varchar2 default contains_all,
p_mainsearch in varchar2 default null,
p_page_groups in number_list_type default empty_number_list,
p_folderid in number default null,
p_foldersiteid in number default null,
p_categoryid in number default null,
p_categorysiteid in number default null,
p_perspectives in perspective_list_type default empty_perspective_list,
p_perspectivesmatch in varchar2 default match_all,
p_includesubpersps in boolean default true,
p_attributes in wwsrc_runtime_attr_varray default wwsrc_runtime_attr_varray ( ),
p_attributesmatch in varchar2 default match_all,
p_orderbyid in number default null,
p_orderbysiteid in number default null,
p_orderbydir in varchar2 default null,
p_firsthit in number default 1,
p_rows in number default max_rows,
p_out_count out number,
p_out_scores out number_list_type
) return pages_result_array_type-
Searches for pages and returns the page results rows in the form
of an array of wwsbr_all_folders records.
- Parameters:
p_mainoperator - keyword operator to be used in the search.
Valid Operator values are defined as
constants in this package (CONTAINS_ANY,
EQUAL_TO, etc - see Search operators constants)
Some operators may only be used when
Oracle Text is enabled, others may only
be used when Oracle Text is disabled
Default value is CONTAINS_ALLp_mainsearch - keyword, or term to search for - this may
be any value including an Oracle Text
search stringp_page_groups - IDs of the page groups to be searched,
use the default value of empty_number_list
for all page groups, otherwise, pass an
array of idsp_folderid - ID of the selected page to be searched if any,
if specified, then this page and all of its
sub pages are searchedp_foldersiteid - site ID of the selected pages to be searched
if any, this must be specified if p_folderid
is specifiedp_categoryid - returns results assigned to this category
only, if null, returns all results
regardless of categoryp_categorysiteid - site ID of category specified above, if anyp_perspectives - returns results assigned to all or any
of the perspectives listed
This is an array of (id, siteid) where id is
the perspective ID and siteid is the
perspective site ID. See perspective_list_type
Only the first perspective in the list is
used if Oracle Text is offp_perspectivesmatch - determines whether to MATCH_ALL perspectives
or MATCH_ANY perspectives in the list,
default value is MATCH_ALL
It is ignored if p_perspectives is not passed
or if Oracle Text is offp_includesubpersps - determines whether any
sub perspectives of the given list of
perspectives stated in p_perspectives are
included in the search criteria, ignored if
p_perspectives is not passed or if Oracle
Text is offp_attributes - an array of attributes to search for together
with their operator and values. Values for
this parameter can be built up by calling
specify_attributes(), see Example 3 in
the package introductionp_attributesmatch - indicates how to join all the attribute
predicates MATCH_ALL or MATCH_ANY, default
value is MATCH_ALL
It is ignored if p_attributes is not passedp_orderById - ID of the attribute with which to order
search results. Only base table attributes
can be usedp_orderBySiteId - site ID of the attribute being used to order
search results, ignored unless p_orderById is
passedp_orderByDir - indicates whether to order results ascending
or descending, ignored unless p_orderById is
passed. Valid values are ORDERBY_ASCENDING
or ORDERBY_DESCENDINGp_firsthit - starting row in current page, null or 1 to
start from the beginning. Defaults to 1 if omitted.
This parameter can be used with p_rows to paginate
the resultsp_rows - maximum number of rows to return, this value
defaults to the value of MAX_ROWSp_out_count - total count of search resultsp_out_scores - an array of scores for search results, the index.
of the array matches the index of the results
array returned by the function- Returns:
- Array containing search results. The number of search results
returned is less than or equal to the value specified for p_rows
- Exceptions:
-
NO_SEARCH_VALUE - The search failed as no search terms were
provided -
WILDCARD_EXPANSION_EXCEPTION - Oracle Text returned
DRG-51030: wildcard query expansion resulted in too many
terms -
KNOWLEDGE_BASE_EXCEPTION - Oracle Text returned
DRG-11446,11422,11432: Supplied knowledge base file not
installed (Oracle Text installation incomplete) -
ATTRIBUTE_NOT_INDEXED - Oracle Text returned
DRG-10837 : Attribute Not Indexed Error
Resync the indexes. -
QUERY_LANGUAGE_SYNTAX_ERROR - Oracle Text returned
Syntax Error in Query Language (usually p_mainsearch) -
SEARCH_FAILURE_EXCEPTION - An internal exception was raised by
Portal or Oracle Text - Since:
-
10.1.4
perspective_search
function perspective_search(
p_mainoperator in varchar2 default contains_all,
p_mainsearch in varchar2 default null,
p_page_groups in number_list_type default empty_number_list,
p_orderbyid in number default null,
p_orderbysiteid in number default null,
p_orderbydir in varchar2 default null,
p_firsthit in number default 1,
p_rows in number default max_rows,
p_out_count out number,
p_out_scores out number_list_type
) return persps_result_array_type-
Searches for perspectives and returns the perspective results rows
in the form of an array of wwsbr_all_perspectives records.
- Parameters:
p_mainoperator - keyword operator to be used in the search
Valid Operator values are defined as
constants in this package (CONTAINS_ANY,
EQUAL_TO, etc - see Search operators constants)
Some operators may only be used when
Oracle Text is enabled, others may only
be used when Oracle Text is disabled
Default value is CONTAINS_ALLp_mainsearch - keyword, or term to search for - this may
be any value including an Oracle Text
search stringp_page_groups - IDs of the page groups to be searched,
use the default value of empty_number_list
for all page groups, otherwise, pass an array
of idsp_orderById - ID of the attribute with which to order
search results. Only base table attributes
can be usedp_orderBySiteId - site ID of the attribute being used to order
search results, ignored unless p_orderById is
passedp_orderByDir - indicates whether to order results ascending
or descending, ignored unless p_orderById is
passed. Valid values are ORDERBY_ASCENDING
or ORDERBY_DESCENDINGp_firsthit - starting row in current page, null or 1 to
start from the beginning. Defaults to 1 if omitted.
This parameter can be used with p_rows to paginate
the resultsp_rows - maximum number of rows to return, this value
defaults to the value of MAX_ROWSp_out_count - total count of search resultsp_out_scores - an array of scores for search results, the index
of the array matches the index of the results
array returned by the function- Returns:
- Array containing search results. The number of search results
returned is less than or equal to the value specified for p_rows
- Exceptions:
-
NO_SEARCH_VALUE - The search failed as no search terms were
provided -
WILDCARD_EXPANSION_EXCEPTION - Oracle Text returned
DRG-51030: wildcard query expansion resulted in too many
terms -
KNOWLEDGE_BASE_EXCEPTION - Oracle Text returned
DRG-11446,11422,11432: Supplied knowledge base file not
installed (Oracle Text installation incomplete) -
ATTRIBUTE_NOT_INDEXED - Oracle Text returned
DRG-10837 : Attribute Not Indexed Error
Resync the indexes -
QUERY_LANGUAGE_SYNTAX_ERROR - Oracle Text returned
Syntax Error in Query Language (usually p_mainsearch) -
SEARCH_FAILURE_EXCEPTION - An internal exception was raised by
the Portal or Oracle Text - Since:
-
10.1.4
specify_attributes
procedure specify_attributes(
p_id in number,
p_siteid in number default wwsbr_site_db . shared_siteid,
p_value in varchar2,
p_operator in varchar2 default contains_all,
p_datatype in varchar2 default data_type_text,
p_in_out_attr_varray in out nocopy wwsrc_runtime_attr_varray
) -
Builds up the search attribute criteria for the search APIs (item_search()
, page_search(), etc) by storing the attributes in an array based on
wwsrc_runtime_attr_varray() object.
declare
l_attrs wwsrc_runtime_attr_varray;
l_results results_array_type;
begin
wwsrc_api.specify_attributes(
p_id => wwsbr_api.ATTRIBUTE_TITLE,
p_value => 'Notes',
p_in_out_attr_varrary => l_attrs);
wwsrc_api.specify_attributes(
p_id => wwsbr_api.ATTRIBUTE_PUBLISHDATE,
p_value => '01-JAN-2004',
p_in_out_attr_varrary => l_attrs);
wwsrc_api.specify_attributes(
p_id => wwsbr_api.ATTRIBUTE_DESCRIPTION,
p_value => 'Summary News',
p_in_out_attr_varrary => l_attrs);
l_results := wwsrc_api.search(
....,
p_attributes => l_attrs,
....);
end;
- Parameters:
p_id - attribute ID from wwsbr_attributesp_siteid - attribute site ID (usually SHARED)p_value - attribute value to be searched, in text formp_operator - operator to use (see Search operators constants)p_datatype - datatype of the attribute value
(see DATA_TYPE_* constants)p_in_out_attr_varray - the existing varray of attributes
(if any)- Exceptions:
-
SEARCH_FAILURE_EXCEPTION - An internal exception - Since:
-
10.1.4