Copied to clipboard

Flag this post as spam?

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


  • Squazz 35 posts 111 karma points
    Nov 23, 2015 @ 09:33
    Squazz
    0

    Examine ExternalIndexer returns empty Index

    I have a problem where my External Index refuses to obtain any kind of data when rebuild. When rebuilding the index, it removes any entry in the index. My Internal Index works just fine, and contains every node in Umbraco.

    I thought it might be a bad node/entry, and have therefore made a backup of the entire database, and in an isolated environment I then started deleting sections, hopen that one of the sections would remove the problem.

    Now I have deleted all of my content, and added one new entry. And still my External Index insists on being empty.

    • What can I do to troubleshoot this further?
    • Is there some way I can debug my ExternalIndexer to see what it is that is stirring up the trouble?
    • Does anyone know what the problem could be?

    I'm sporting a Umbraco version 7.1.8 assembly: 1.0.5394.16131

    My Examine settings for the Indexers

      <add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine"
           supportUnpublished="true"
           supportProtected="true"
           analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
    
      <!-- default external indexer, which excludes protected and unpublished pages-->
      <add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
                     analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
    
      <add name="UserIndexer" type="Sinas.Factories.Search.AutoConfiguredExamineUserIndexer, Sinas.Factories" 
                     analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
    
     </providers>
    </ExamineIndexProviders> 
    

    My IndexSet for ExternalIndexSet

    <!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
      <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
      <IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
        <IndexUserFields>
          <add Name="id" />
          <add Name="nodeTypeAlias" />
          <add Name="fullName" />
          <add Name="firstName" />
          <add Name="lastName" />
                <add Name="datatitle" />
                <add Name="dataemail" />
                <add Name="dataphone" />
                <add Name="datamobilephone" />
                <add Name="dataskype" />
          <add Name="_unit" />
          <add Name="_unitId" />
          <add Name="_unitIdPath" />
          <add Name="_tagIds" />
          <add Name="_tags" />
          <add Name="_workGroupIds" />
          <add Name="_workGroups" />
                <add Name="_type" />
                <add Name="_definitionName" />
                <add Name="_definitionNameEmpty" />
          <add Name="deleted" />
        </IndexUserFields>
      </IndexSet>
    

    Question on Stackoverflow: http://stackoverflow.com/questions/33867682/examine-externalindexer-returns-empty-index

  • Veronica Burd 76 posts 201 karma points
    Nov 23, 2015 @ 10:23
    Veronica Burd
    0

    Hi,

    Could you show the contents of the ExamineIndex.config file for the External Index? For example, my setting is as follows:

    <IndexSet SetName="ExternalIndexSet" IndexPath="~/Indices/External/">
      <IndexAttributeFields>
        <add Name="id" />
        <add Name="nodeName"/>
        <add Name="updateDate" />
        <add Name="writerName" />
        <add Name="loginName" />
        <add Name="email" />
        <add Name="path" />
        <add Name="nodeTypeAlias" />
      </IndexAttributeFields>
    </IndexSet>
    

    Also, have you checked the umbraco log file to see if it's showing any errors during the indexing process?

    Ver

  • Squazz 35 posts 111 karma points
    Nov 23, 2015 @ 11:00
    Squazz
    0

    Nothing to see in the Umbraco Log File :/

    My IndexSet for ExternalIndexSet

    <!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
      <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
      <IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
        <IndexUserFields>
          <add Name="id" />
          <add Name="nodeTypeAlias" />
          <add Name="fullName" />
          <add Name="firstName" />
          <add Name="lastName" />
                <add Name="datatitle" />
                <add Name="dataemail" />
                <add Name="dataphone" />
                <add Name="datamobilephone" />
                <add Name="dataskype" />
          <add Name="_unit" />
          <add Name="_unitId" />
          <add Name="_unitIdPath" />
          <add Name="_tagIds" />
          <add Name="_tags" />
          <add Name="_workGroupIds" />
          <add Name="_workGroups" />
                <add Name="_type" />
                <add Name="_definitionName" />
                <add Name="_definitionNameEmpty" />
          <add Name="deleted" />
        </IndexUserFields>
      </IndexSet>
    
  • Veronica Burd 76 posts 201 karma points
    Nov 23, 2015 @ 11:22
    Veronica Burd
    0

    You could also try increasing the logging level to see if anything shows up. In config/log4net.config set the priority value to DEBUG.

     <priority value="DEBUG" />
    

    Then try to re-index. Don't forget to re-set that value once you've finished.

    You can look at the contents of an index outside of Umbraco by downloading and using Luke. It's java based so you'll require a JDK. Beware that you may need to stop the IIS application pool though as Umbraco retains a lock on the index files and Luke won't be able to access them.

    Finally, and perhaps most importantly, have you added a handler for the OnGatheringNodeData event of the ExternalIndex? If so, this would be the first place I'd check.

    Ver

  • Squazz 35 posts 111 karma points
    Nov 23, 2015 @ 12:03
    Squazz
    0

    Still nothing usefull in the log (Looking in umbracoLog table in the DB) :/

    I know Luke, and using it I see nothing (as the index contains nothing). The few times it manages to contain anything, it contains references to a few files.

    I havn't added a handler for OnGatheringNodeData, something I should do to be able to debug better?

  • Veronica Burd 76 posts 201 karma points
    Nov 23, 2015 @ 13:13
    Veronica Burd
    0

    Check the log file ~/App-Data/Logs/UmbracoTraceLog.txt. I think the DB log table is more geared towards auditing than info/error logging.

    If there's no errors in the log file then all I can suggest is stopping the app pool in IIS, delete the contents of External Index folder and then re-start the app pool.

    If you don't already have an OnGatheringNodeData handler then don't add one. You only need it if you want to change or add extra data to the index.

    Ver

  • Squazz 35 posts 111 karma points
    Nov 23, 2015 @ 15:02
    Squazz
    0

    Even though logging is enabled in UmbracoSettings.config...

    <logging>
        <enableLogging>true</enableLogging>
    </logging>
    

    I cannot find any logfile. So, I guess it haven't produced any errors?

    Resetting the app pool have been tried, no luck there :/

    I won't implement it then :P

  • Squazz 35 posts 111 karma points
    Nov 25, 2015 @ 12:53
    Squazz
    100

    I found the solution. It turned out that we had some invalid data that wasn't visible due to the property didn't allow that kind of data.

    We had a field where one previously had been able to insert both ints and strings. Now that we changed it so that one could only insert ints, the strings wasn't visible, even though they were still assigned to the node.

Please Sign in or register to post replies

Write your reply to:

Draft