Examine with a non-Umbraco dataService and SimpleDataIndexer

Hi everybody, I’ve run into an issue on the website I’m currently working on that has finally forced me to sign up to the forums. I’ve been through about a dozen other threads on this subject but none really shares my issue except for this one - unfortunately none of the solutions proposed there are solving my problem… which brings me to this thread.

The website I’m working on has two database connections: one for Umbraco of course and the other connects to a remote database which contains all employees (and their details) of the company the website is for. The website has an “employee directory” and each employee has their own profile page. So far, so good.

To enable searching on the website I’ve implemented ezSearch which works fine for searching through the Umbraco nodes. However, I also want to be able to search through the employee directory and list these results on the same page as the other search results (so I need to merge it with the ezSearch results).
This led me to configuring a custom IndexSet, ExamineIndexProvider and ExamineSearchProvider. I’ve read through several tutorials, blog posts and forum threads and they all go about it in the same manner I have. These are my settings (omitted miscellaneous index settings for brevity):

web.config

<section name="Examine" type="Examine.Config.ExamineSettings, Examine" requirePermission="false" />
<section name="ExamineLuceneIndexSets" type="Examine.LuceneEngine.Config.IndexSets, Examine" requirePermission="false" />

ExamineIndex.config

<IndexSet SetName="EmployeeIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/Employee/">
  <IndexAttributeFields>
  </IndexAttributeFields>
  <IndexUserFields>
    <add Name="id" />
    <add Name="urlName" />
    <add Name="name" />
    <add Name="menuTitle" />
    <add Name="defaultContent" />
  </IndexUserFields>
  <IncludeNodeTypes>
  </IncludeNodeTypes>
</IndexSet>

ExamineSettings.config

    <Examine>
      <ExamineIndexProviders>
        <providers>
          <add name="EmployeeIndexer" type="Examine.LuceneEngine.Providers.SimpleDataIndexer, Examine" 
            dataService="Umbraco.Extensions.BLL.EmployeeDataService, Umbraco.Extensions.BLL" 
            indexTypes="EmployeeDto" 
            interval="10" 
            runAsync="true" />
        </providers>
      </ExamineIndexProviders>

      <ExamineSearchProviders defaultProvider="ExternalSearcher">
        <providers>
          <add name="EmployeeSearcher" type="Examine.LuceneEngine.Providers.LuceneSearcher, Examine" 
             analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" 
             enableLeadingWildcards="true" 
             indexSets="EmployeeIndexSet" />
        </providers>
      </ExamineSearchProviders>
    </Examine>

Now here comes the problem. No matter what I try (and I’ve been at it for a few hours now), when I try to load the website (both front- and back-office) I always get a YSOD with the following below (pointing to line 25). As I stated at the top of this post, there is a thread where users were experiencing the same error, but none of the solutions in that thread work for my project. Does anyone have any tips?

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Value cannot be null.
Parameter name: type

Source Error:

Line 23: <add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"/>
Line 24: 
Line 25: <add name="EmployeeIndexer" type="Examine.LuceneEngine.Providers.SimpleDataIndexer, Examine" 
Line 26: dataService="Umbraco.Extensions.BLL.EmployeeDataService, Umbraco.Extensions.BLL" 
Line 27: indexTypes="EmployeeDto" 

This is a companion discussion topic for the original entry at https://our.umbraco.com/forum/59272-examine-with-a-non-umbraco-dataservice-and-simpledataindexer