Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Andrew Hopkins 21 posts 133 karma points
    Feb 08, 2019 @ 12:03
    Andrew Hopkins
    0

    Parameter name indexset on Lucene Examine Indexer provider...

    I'm trying to implement a custom search on Umbraco Examine. When I modify the ExamineSettings.config I get this error:

    Error: Parameter name indexset on Lucene Examine Indexer provider has not been set in configuration and / or the IndexerData property has not been explicitly set.

    I am using the following:

    ExamineSettings.config

    <?xml version="1.0"?>
    <!-- 
    Umbraco examine is an extensible indexer and search engine.
    This configuration file can be extended to add your own search/index providers.
    Index sets can be defined in the ExamineIndex.config if you're using the standard provider model.
    
    More information and documentation can be found on GitHub: https://github.com/Shazwazza/Examine/
    -->
    <Examine>
      <ExamineIndexProviders>
        <providers>
          <add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" supportUnpublished="true" supportProtected="true" analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" directoryFactory="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />
    
          <add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine" supportUnpublished="true" supportProtected="true" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" directoryFactory="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />
    
            <!-- default external indexer, which excludes protected and unpublished pages-->
            <add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" directoryFactory="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />
    
          <!-- Wright Hassall Index Providers -->
          <add name="RelatedLegalArticlesIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"/>
    
        </providers>
      </ExamineIndexProviders>
    
      <ExamineSearchProviders defaultProvider="ExternalSearcher">
        <providers>
          <add name="InternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" />
    
          <add name="ExternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" />
    
          <add name="InternalMemberSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" enableLeadingWildcard="true" />
    
            <!-- Wright Hassall Search Providers -->
            <add name="RelatedLegalArticlesSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/> 
    
        </providers>
      </ExamineSearchProviders>
    
    </Examine>
    

    ExamineIndex.config

    <?xml version="1.0"?>
    <!-- 
    Umbraco examine is an extensible indexer and search engine.
    This configuration file can be extended to create your own index sets.
    Index/Search providers can be defined in the UmbracoSettings.config
    
    More information and documentation can be found on GitHub: https://github.com/Shazwazza/Examine/
    -->
    <ExamineLuceneIndexSets>
      <!-- The internal index set used by Umbraco back-office - DO NOT REMOVE -->
      <IndexSet SetName="InternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/Internal/" />
    
      <!-- The internal index set used by Umbraco back-office for indexing members - DO NOT REMOVE -->
      <IndexSet SetName="InternalMemberIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/InternalMember/">
        <IndexAttributeFields>
          <add Name="id" />
          <add Name="nodeName" />
          <add Name="updateDate" />
          <add Name="writerName" />
          <add Name="loginName" />
          <add Name="email" />
          <add Name="nodeTypeAlias" />
        </IndexAttributeFields>
      </IndexSet>
    
      <!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
      <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
    
      <!-- Wright Hassall Custom Index Set -->
      <IndexSet SetName="RelatedLegalArticlesIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/RelatedLegalArticles/"> 
        <IndexAttributeFields> 
        <add Name="id" /> 
        <add Name="nodeName" /> 
        <add Name="updateDate" /> 
        <add Name="writerName" /> 
        <add Name="path" /> 
        <add Name="nodeTypeAlias" /> 
        <add Name="parentID" /> 
        </IndexAttributeFields> 
        <IndexUserFields> 
        <add Name="pageAuthors"/> 
        </IndexUserFields> 
        <IncludeNodeTypes> 
        <add Name="legalArticle"/> 
        </IncludeNodeTypes> 
        <ExcludeNodeTypes> 
        </ExcludeNodeTypes> 
        </IndexSet> 
    
    </ExamineLuceneIndexSets>
    

    I'm not sure what I'm doing wrong here? Any ideas would be gratefully received.

  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Feb 08, 2019 @ 21:03
    Marc Goodson
    1

    Hi Andrew

    I've cut and paste your configuration into a test site in Umbraco 7.12.4 and I don't get any errors! so it all looks ok. Which version of Umbraco are you using?

    The Indexer and Searcher in the ExamineSettings.config should 'wire' up via a naming convention to use the relevant IndexSet - which I think you've followed correctly. However you can explicity define the name of the IndexSet on the indexer, and as this is what your error message appears to be describing, I'd try adding the name of the IndexSet to the Indexer configuration.

      <add name="RelatedLegalArticlesIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"  indexSet="RelatedLegalArticlesIndexSet" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" />
    

    I'd make sure your Analyzer on your 'Indexer' matches your 'Searcher'.

    And I'd make sure to peform an application pool recycle and a rebuild of the indexes everytime you change these settings.

    regards

    Marc

Please Sign in or register to post replies

Write your reply to:

Draft