include/SugarSearchEngine/SugarSearchEngineSyncIndexer.php
\SugarSearchEngineSyncIndexer
- Parent(s)
- \RunnableSchedulerJob
Constants

MAX_BULK_THRESHOLD
= 5000
The max number of beans we process before starting to bulk insert so we dont hit memory issues.

MAX_BULK_QUERY_THRESHOLD
= 15000
The max number of beans we process before starting to bulk insert so we dont hit memory issues.

POSTPONE_JOB_TIME
= 20
Number of time to postpone a job by so it's not executed twice during the same request.
Properties
Methods


__construct(
\SugarSearchEngineAqbstractBase $engine
=
null
)
:
void
Name | Type | Description |
---|---|---|
$engine | \SugarSearchEngineAqbstractBase |


createJobQueueConsumer(
)
:
String
Create a job queue FTS consumer for a specific module
Type | Description |
---|---|
String | Id of newly created job |


generateFTSQuery(
$module, $fieldDefinitions
)
:
string
Generate the query necessary to retrieve FTS enabled fields for a bean.
Name | Type | Description |
---|---|---|
$module | ||
$fieldDefinitions |
Type | Description |
---|---|
string |


indexRecords(
$module, $fieldDefinitions
)
:
void
Name | Type | Description |
---|---|---|
$module | ||
$fieldDefinitions |


markBeansProcessed(
\$beanIDs $beanIDs
)
:
void
Given a set of bean ids processed from the queue table, mark them as being processed. We will throttle the update query as there is a limit on the size of records that can be passed to an in clause yet we don't want to update them individually for performance reasons.
Name | Type | Description |
---|---|---|
$beanIDs | \$beanIDs | array of bean ids to delete |


removeExistingFTSSyncConsumer(
)
:
void
Remove existing FTS Consumers that may have been created by a previous scheduled index.


run(
$data
)
:
void
Main function that handles the indexing of a bean and is called by the job queue system.
Name | Type | Description |
---|---|---|
$data |


setBeanIDsProcessed(
$deleteIDs
)
:
void
Internal function to mark records within queue table as processed.
Name | Type | Description |
---|---|---|
$deleteIDs |


setJob(
\SchedulersJob $job
)
:
void
Set the scheduler job that initiated the run call.
Name | Type | Description |
---|---|---|
$job | \SchedulersJob |