Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
|
Simple moodle database engine. More...
Public Member Functions | |
add_document ($document, $fileindexing=false) | |
Adds a document to the search engine. | |
add_document_batch (array $documents, bool $fileindexing=false) | |
Adds multiple documents to the search engine. | |
add_documents ($iterator, $searcharea, $options) | |
Loop through given iterator of search documents and and have the search engine back end add them to the index. | |
area_index_complete ($searcharea, $numdocs=0, $fullindex=false) | |
Do any area cleanup needed, and do anything to confirm contents. | |
area_index_starting ($searcharea, $fullindex=false) | |
Do anything that may need to be done before an area is indexed. | |
check_latest_schema () | |
Checks that the schema is the latest version. | |
clear_query_error () | |
Clears the current query error value. | |
delete ($areaid=null) | |
Delete all area's documents. | |
delete_by_id ($id) | |
Deletes the specified document. | |
delete_index_for_context (int $oldcontextid) | |
Simpledb supports deleting the index for a context. | |
delete_index_for_course (int $oldcourseid) | |
Simpledb supports deleting the index for a course. | |
execute_query ($filters, $usercontexts, $limit=0) | |
Prepares a SQL query, applies filters and executes it returning its results. | |
file_indexing_enabled () | |
Return true if file indexing is supported and enabled. | |
get_batch_max_content () | |
Gets the maximum size of document content to be included in a shared batch (if the document is bigger then it will be sent on its own; batching does not provide a performance improvement for big documents anyway). | |
int | get_batch_max_documents () |
Gets the maximum number of documents to send together in batch mode. | |
get_document_classname () | |
Gets the document class used by this search engine. | |
get_plugin_name () | |
Returns the plugin name. | |
get_query_error () | |
Returns any error reported by the search engine when executing the provided query. | |
get_query_total_count () | |
Returns the total results. | |
get_supported_orders (\context $context) | |
Obtain a list of results orders (and names for them) that are supported by this search engine in the given context. | |
get_user ($userid) | |
Returns user data checking the internal static cache. | |
has_alternate_configuration () | |
Checks if the search engine has an alternate configuration. | |
index_complete ($numdocs=0, $fullindex=false) | |
Run any post indexing operations. | |
index_starting ($fullindex=false) | |
Run any pre-indexing operations. | |
is_installed () | |
It is always installed. | |
is_server_ready () | |
Checks that the required table was installed. | |
optimize () | |
Optimizes the search engine. | |
record_applied_schema_version ($version) | |
Usually called by the engine; marks that the schema has been updated. | |
skip_schema_check ($skip=true) | |
Tells the search engine to skip any time-consuming checks that it might do as part of the is_server_ready function, and only carry out a basic check that it can contact the server. | |
supports_add_document_batch () | |
Checks if the search engine supports adding documents in a batch. | |
supports_group_filtering () | |
Checks if this search engine supports groups. | |
supports_users () | |
Checks if the search engine supports searching by user. | |
Static Public Member Functions | |
static | clear_users_cache () |
Clears the users cache. | |
Protected Member Functions | |
get_course ($courseid) | |
Returns a course instance checking internal caching. | |
get_search_area ($areaid) | |
Returns a search instance of the specified area checking internal caching. | |
get_simple_query ($q) | |
Returns the default query for db engines. | |
should_skip_schema_check () | |
For use by subclasses. | |
to_document (\core_search\base $searcharea, $docdata) | |
Returns a document instance prepared to be rendered. | |
update_schema ($oldversion, $newversion) | |
Requests the search engine to upgrade the schema. | |
Static Protected Attributes | |
static stdClass[] | $cachedusers = array() |
User data required to show their fullnames. | |
Simple moodle database engine.
search_simpledb\engine::add_document | ( | $document, | |
$fileindexing = false ) |
Adds a document to the search engine.
This does not commit to the search engine.
core_search\document | $document | |
bool | $fileindexing | True if file indexing is to be used |
bool | False if the file was skipped or failed, true on success |
Reimplemented from core_search\engine.
|
inherited |
Adds multiple documents to the search engine.
It should return the number successfully processed, and the number of batches they were processed in (for example if you add 100 documents and there is an error processing one of those documents, and it took 4 batches, it would return [99, 1, 4]).
If the engine implements this, it should return true to {
The system will only call this function with up to {
document[] | $documents | Documents to add |
bool | $fileindexing | True if file indexing is to be used |
int[] | Array of three elements, successfully processed, failed processed, batch count |
Reimplemented in search_solr\engine.
|
inherited |
Loop through given iterator of search documents and and have the search engine back end add them to the index.
iterator | $iterator | the iterator of documents to index |
base | $searcharea | the area for the documents to index |
array | $options | document indexing options |
array | Processed document counts |
|
inherited |
Do any area cleanup needed, and do anything to confirm contents.
Return false to prevent the search area completed time and stats from being updated.
core_search\base | $searcharea | The search area that was complete |
int | $numdocs | The number of documents that were added to the index |
bool | $fullindex | True if a full index is being performed |
bool | True means that data is considered indexed |
Reimplemented in search_solr\engine.
|
inherited |
Do anything that may need to be done before an area is indexed.
core_search\base | $searcharea | The search area that was complete |
bool | $fullindex | True if a full index is being performed |
void |
|
inherited |
Checks that the schema is the latest version.
If the version stored in config does not match the current, this function will attempt to upgrade the schema.
bool|string | True if schema is OK, a string if user needs to take action |
|
inherited |
Clears the current query error value.
void |
|
staticinherited |
Clears the users cache.
null |
search_simpledb\engine::delete | ( | $areaid = null | ) |
Delete all area's documents.
string | $areaid |
void |
Reimplemented from core_search\engine.
search_simpledb\engine::delete_by_id | ( | $id | ) |
Deletes the specified document.
string | $id | The document id to delete |
void |
search_simpledb\engine::delete_index_for_context | ( | int | $oldcontextid | ) |
Simpledb supports deleting the index for a context.
int | $oldcontextid | Context that has been deleted |
bool | True to indicate that any data was actually deleted |
core_search\engine_exception |
Reimplemented from core_search\engine.
search_simpledb\engine::delete_index_for_course | ( | int | $oldcourseid | ) |
Simpledb supports deleting the index for a course.
int | $oldcourseid |
bool | True to indicate that any data was actually deleted |
core_search\engine_exception |
Reimplemented from core_search\engine.
search_simpledb\engine::execute_query | ( | $filters, | |
$usercontexts, | |||
$limit = 0 ) |
Prepares a SQL query, applies filters and executes it returning its results.
core_search\engine_exception |
stdClass | $filters | Containing query and filters. |
array | $usercontexts | Contexts where the user has access. True if the user can access all contexts. |
int | $limit | The maximum number of results to return. |
core_search\document[] | Results or false if no results |
Reimplemented from core_search\engine.
|
inherited |
Return true if file indexing is supported and enabled.
False otherwise.
bool |
Reimplemented in search_solr\engine.
|
inherited |
Gets the maximum size of document content to be included in a shared batch (if the document is bigger then it will be sent on its own; batching does not provide a performance improvement for big documents anyway).
Only relevant if the engine returns true to {
Can be overridden by search engine if required.
int | Max size in bytes, default 1MB |
|
inherited |
Gets the maximum number of documents to send together in batch mode.
Only relevant if the engine returns true to {
Can be overridden by search engine if required.
Number of documents to send together in batch mode, default 100.
|
protectedinherited |
Returns a course instance checking internal caching.
int | $courseid |
stdClass |
|
inherited |
Gets the document class used by this search engine.
Search engines can overwrite core_search\document with search_ENGINENAME\document class.
Looks for a document class in the current search engine namespace, falling back to core_search\document.
Publicly available because search areas do not have access to the engine details, core_search\document_factory accesses this function.
string |
|
inherited |
Returns the plugin name.
string | Frankenstyle plugin name. |
|
inherited |
Returns any error reported by the search engine when executing the provided query.
It should be called from static\execute_query when an exception is triggered.
string |
search_simpledb\engine::get_query_total_count | ( | ) |
Returns the total results.
Including skipped results.
int |
Reimplemented from core_search\engine.
|
protectedinherited |
Returns a search instance of the specified area checking internal caching.
string | $areaid | Area id |
core_search\base |
|
protected |
Returns the default query for db engines.
string | $q | The query string |
array | SQL string and params list |
|
inherited |
Obtain a list of results orders (and names for them) that are supported by this search engine in the given context.
By default, engines sort by relevance only.
context | $context | Context that the user requested search from |
array | Array from order name => display text |
Reimplemented in search_solr\engine.
|
inherited |
Returns user data checking the internal static cache.
Including here the minimum required user information as this may grow big.
int | $userid |
stdClass |
|
inherited |
Checks if the search engine has an alternate configuration.
This is used where the same search engine class supports two different configurations, which are both shown on the settings screen. The alternate configuration is selected by passing 'true' parameter to the constructor.
The feature is used when a different connection is in use for indexing vs. querying the search engine.
This function should only return true if the engine supports an alternate configuration and the user has filled in the settings. (We do not need to test they are valid, that will happen as normal.)
bool | True if an alternate configuration is defined |
Reimplemented in search_solr\engine.
|
inherited |
Run any post indexing operations.
Should be overwritten if the search engine needs to do any post index cleanup.
int | $numdocs | The number of documents that were added to the index |
bool | $fullindex | True if a full index was performed |
void |
|
inherited |
Run any pre-indexing operations.
Should be overwritten if the search engine needs to do any pre index preparation.
bool | $fullindex | True if a full index will be performed |
void |
search_simpledb\engine::is_installed | ( | ) |
search_simpledb\engine::is_server_ready | ( | ) |
Checks that the required table was installed.
true|string | Returns true if all good or an error string. |
Reimplemented from core_search\engine.
|
inherited |
Optimizes the search engine.
Should be overwritten if the search engine can optimize its contents.
void |
|
inherited |
Usually called by the engine; marks that the schema has been updated.
int | $version | Records the schema version now applied |
|
protectedinherited |
For use by subclasses.
The engine can call this inside is_server_ready to check whether it should skip time-consuming schema checks.
bool | True if schema checks should be skipped |
|
inherited |
Tells the search engine to skip any time-consuming checks that it might do as part of the is_server_ready function, and only carry out a basic check that it can contact the server.
This setting is not remembered and applies only to the current request.
bool | $skip | True to skip the checks, false to start checking again |
|
inherited |
Checks if the search engine supports adding documents in a batch.
If it returns true to this function, the search engine must implement the add_document_batch function.
bool | True if the search engine supports adding documents in a batch |
Reimplemented in search_solr\engine.
|
inherited |
Checks if this search engine supports groups.
Note that returning true to this function causes the parameters to execute_query to be passed differently!
In order to implement groups and return true to this function, the search engine should:
bool | True if this engine supports searching by group id field |
Reimplemented in search_solr\engine.
|
inherited |
Checks if the search engine supports searching by user.
If it returns true to this function, the search engine should support the 'userids' option in the $filters value passed to execute_query(), returning only items where the userid in the search document matches one of those user ids.
bool | True if the search engine supports searching by user |
Reimplemented in search_solr\engine.
|
protectedinherited |
Returns a document instance prepared to be rendered.
core_search\base | $searcharea | |
array | $docdata |
core_search\document |
|
protectedinherited |
Requests the search engine to upgrade the schema.
The engine should update the schema if possible/necessary, and should ensure that record_applied_schema_version is called as a result.
If it is not possible to upgrade the schema at the moment, it can do nothing and return; the function will be called again next time search is initialised.
The default implementation just returns, with a DEBUG_DEVELOPER warning.
int | $oldversion | Old schema version |
int | $newversion | New schema version |
bool|string | True if schema is updated successfully, a string if it needs updating manually |
Reimplemented in search_solr\engine.
|
staticprotectedinherited |
User data required to show their fullnames.
Indexed by userid.