include/SugarSearchEngine/SugarSearchEngineSyncIndexer.php
\SugarSearchEngineSyncIndexer
Indexer job for Search to sync records
- Parent(s)
- \SugarSearchEngineIndexerBase < \RunnableSchedulerJob
- Api
Constants
MAX_BULK_THRESHOLD
= 5000The max number of beans we process before starting to bulk insert so we dont hit memory issues.
Inherited from: \SugarSearchEngineIndexerBase::MAX_BULK_THRESHOLD- Inherited_from
- \SugarSearchEngineIndexerBase::MAX_BULK_THRESHOLD
MAX_BULK_QUERY_THRESHOLD
= 15000The max number of beans we process before starting to bulk insert so we dont hit memory issues.
Inherited from: \SugarSearchEngineIndexerBase::MAX_BULK_QUERY_THRESHOLD- Inherited_from
- \SugarSearchEngineIndexerBase::MAX_BULK_QUERY_THRESHOLD
MAX_BULK_DELETE_THRESHOLD
= 3000The max number of beans we delete at a time
Inherited from: \SugarSearchEngineIndexerBase::MAX_BULK_DELETE_THRESHOLD- Inherited_from
- \SugarSearchEngineIndexerBase::MAX_BULK_DELETE_THRESHOLD
POSTPONE_JOB_TIME
= 20Number of time to postpone a job by so it's not executed twice during the same request.
Inherited from: \SugarSearchEngineIndexerBase::POSTPONE_JOB_TIME- Inherited_from
- \SugarSearchEngineIndexerBase::POSTPONE_JOB_TIME
Properties

\SugarSearchEngineAbstractBase
$SSEngine= ''
- Type
- \SugarSearchEngineAbstractBase
- Inherited_from
- \SugarSearchEngineIndexerBase::$$SSEngine

\DBManager
$db= ''
- Type
- \DBManager
- Inherited_from
- \SugarSearchEngineIndexerBase::$$db

\SchedulersJob
$schedulerJob= ''
- Type
- \SchedulersJob
- Inherited_from
- \SugarSearchEngineIndexerBase::$$schedulerJob

\table_name
$table_name= ''
- Type
- \table_name
- Inherited_from
- \SugarSearchEngineIndexerBase::$$table_name
Methods

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

__get(
$name
)
:
void| Name | Type | Description |
|---|---|---|
| $name |

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

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

indexRecords(
String $module, array $fieldDefinitions
)
:
integerIndex records into search engine
| Name | Type | Description |
|---|---|---|
| $module | String | module |
| $fieldDefinitions | array | fieldDefinitions |
| Type | Description |
|---|---|
| integer | number of indexed records, -1 if fails |

markBeansProcessed(
\$beanIDs $beanIDs
)
:
voidGiven 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.
Inherited from: \SugarSearchEngineIndexerBase::markBeansProcessed()| Name | Type | Description |
|---|---|---|
| $beanIDs | \$beanIDs | array of bean ids to delete |

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

run(
$data
)
:
voidMain function that handles the indexing of a bean and is called by the job queue system.
Subclasses should implement their own logic.
| Name | Type | Description |
|---|---|---|
| $data |

setBeanIDsProcessed(
$deleteIDs
)
:
voidInternal function to mark records within queue table as processed.
Inherited from: \SugarSearchEngineIndexerBase::setBeanIDsProcessed()| Name | Type | Description |
|---|---|---|
| $deleteIDs |

setJob(
\SchedulersJob $job
)
:
voidSet the scheduler job that initiated the run call.
Inherited from: \SugarSearchEngineIndexerBase::setJob()| Name | Type | Description |
|---|---|---|
| $job | \SchedulersJob |