Contents:
- Overview
- Indexing Jobs Running on Installation
- Ongoing Indexing Jobs
- Ongoing Lead Indexing
- Ongoing Account Indexing
- Indexing Sandbox Email Domains
- FAQ
Overview
In order to efficiently perform matching in your Salesforce instance, LeanData runs a search indexing job on your Lead and Account records upon installation. LeanData will also automatically index Leads and Accounts as they are created, or if there are updates made to them that would require re-indexing.
Indexing Jobs Running on Installation
Upon installation, LeanData will run 2 indexing jobs to prepare Lead and Account records for matching:
- PopulateAccountEmailDomainBatch
- PopulateLeadSearchFieldBatch
During these jobs, LeanData will be generating normalized versions of our fuzzy matching fields, such as Company Name, Zip Code, Website, and Email Domain. During these jobs, LeanData will also associate email domains from Contacts with their respective Accounts.
These initial indexing jobs will run under the LeanData Managed Package User. They will also automatically abort after 1 week.
Note: These jobs will be modifying LeanData indexing fields on your Lead and Account records. On Leads, this field is LeanData__Search_Index__c. On Accounts, the LeanData__LD_EmailDomains__c, and LeanData__Search__c fields will be populated. If you have any processes running that could be impacted by updating these records, please contact your LeanData representative.
Ongoing Indexing Jobs
After the initial indexing jobs are completed, LeanData will still need to index new Leads and Accounts, as well as update the indexing fields to reflect any changes in your data.
Ongoing Lead Indexing
When Leads are created, indexing will run in the beforeinsert trigger. If Leads are updated in a way that would require re-indexing, such as the website or email changing, the re-indexing would occur in the beforeupdate trigger.
Ongoing Account Indexing
Ongoing Account indexing runs in a similar manner to Ongoing lead Indexing. However, unlike Leads, Accounts can also have domains derived from the Contacts underneath that Account. These are processed asynchronously during the Continuous Clean Batch job that runs regularly in your Salesforce instance.
Indexing Sandbox Email Domains
Some organizations may have suffixes appended to certain email domains when a sandbox is refreshed. i.e. John.smith@company.com.sfpoc. These domain apprehensions may be indexed by LeanData and may affect the quality of matches performed in that sandbox instance.
Upon refresh these are the steps we recommend to make sure any email apprehension in the Sandbox is disregarded for the the LeanData Matching to perform properly:
- Before a refresh, notify LeanData that the Sandbox refresh will occur on a certain date and the date set for activation. Before activation of the Sandbox, have your team send over a list of the email apprehensions (ie .sfpoc,.sfpoc.sfpoc).
- Once the Sandbox is activated:
- For standard configurations: Authorize the LeanData Token and notify LeanData to add the appropriate custom settings.
- For Non-Standard configurations: notify LeanData to send a .bin file with the appropriate custom settings for you to upload in the sandbox.
- Once LeanData confirms the custom settings have been added, query the database to see how many leads or accounts have been indexed with the domain suffix by using these two queries:
- SELECT count(ID) FROM Lead WHERE LeanData__Search_Index__c LIKE '%sfpoc%'
- SELECT count(ID) FROM Account WHERE LeanData__LD_EmailDomains__c LIKE '%sfpoc%'
That should give you an estimate of how long the jobs should take depending on how many records that returns.
- If the previous queries show zero results, you will not need to execute the following scripts, but if the queries show some results, execute the following scripts:
- LeanData.LeanDataREST.restProcess('PopulateLeadSearchFieldBatch', 'populateSubset', new Map<String,String> {'condition' => 'LeanData__Search_Index__c LIKE \'%.sfpoc%\''});
- LeanData.LeanDataREST.restProcess('PopulateAccountEmailDomainBatch', 'populateSubset', new Map<String,String> {'condition' => 'LeanData__LD_EmailDomains__c LIKE \'%.sfpoc%\''});
These two jobs can run at the same time.
FAQ
Why is indexing run automatically upon install? Is Lead Search Indexing Required?
- Indexing is critical for accurate matching, which is the foundation for all of LeanData's product offerings. Although LeanData can still technically run without completed the indexing, the ability to accurately match will be severely impaired without these indexing jobs. We run indexing to ensure our customers are running LeanData with the most robust and accurate matching possible.
Which User will indexing be performed under?
- The indexing jobs that run upon Installation will be run under the LeanData Managed Package User
- Ongoing jobs will be run by whoever runs performs the insert or update, or by whoever is the integration user for Jobs run in the Continuous Clean Batch.
Can I stop the initial LeanData Indexing jobs?
- Yes, it is possible to stop the initial indexing jobs. Please contact your LeanData technical representative for guidance.
Which Lead & Account fields will be modified during indexing?
- Lead: LeanData__Search_Index__c
- Account: LeanData__Search__c, LeanData__LD_EmailDomains__c
What can cause indexing to fail?
- The initial indexing jobs can fail if running for a long period of time. Generally after one week.
Can we index custom fields? (Custom Account Name, custom domain field)
- Although this isn't supported natively in LeanData, please reach out to your LeanData Representative for some custom options.