3

I am using umbraco 7.4.1 with full text search and smart blog. Currently am facing one problem.

I am not able to get search result from the body of the blogs or any of the pages only get search result from the node name.

My configs are the follwing

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 CodePlex: http://umbracoexamine.codeplex.com
-->
<ExamineLuceneIndexSets>
  <!-- The internal index set used by Umbraco back-office - DO NOT REMOVE -->
  <IndexSet SetName="InternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/Internal/" />
  <!-- The internal index set used by Umbraco back-office for indexing members - DO NOT REMOVE -->
  <IndexSet SetName="InternalMemberIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/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/{machinename}/External/" />
  <IndexSet SetName="FullTextIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/FullText/">
    <IndexAttributeFields>
      <add Name="id" />
      <add Name="nodeName" />
      <add Name="nodeTypeAlias" />
    </IndexAttributeFields>
    <IndexUserFields>
      <add Name="smartBlogBody" />
      <add Name="smartBlogSummary" />
      <add Name="smartBlogTitle" />
      <add Name="test" />
    </IndexUserFields>
    <IncludeNodeTypes />
    <ExcludeNodeTypes />
  </IndexSet>
</ExamineLuceneIndexSets>

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 CodePlex: http://umbracoexamine.codeplex.com
-->
<Examine>
  <ExamineIndexProviders>
    <providers>
      <add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" supportUnpublished="true" supportProtected="true" analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" />
      <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" />
      <add name="FullTextIndexer" type="Governor.Umbraco.FullTextSearch.Providers.FullTextContentIndexer, Governor.Umbraco.FullTextSearch" runAsync="true" supportUnpublished="false" supportProtected="false" interval="10" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" enableDefaultEventHandler="true" indexSet="FullTextIndexSet" />

    </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" />
      <add name="FullTextSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" indexSet="FullTextIndexSet" />
    </providers>
  </ExamineSearchProviders>
</Examine>

FullTextSearch.config

<?xml version="1.0" encoding="utf-8" ?>
<FullTextSearch>
    <!-- Enable Full Text Indexing/Search -->
    <Enabled>false</Enabled>
    <!-- Indexing Options-->
    <!-- 
        This setting controls when pages are actually rendered to HTML and stored/indexed

        This defaults to false. Rendering will be performed at indexing time. 

        Set this to true to render nodes to HTML on umbraco publishing events and store in a 
        database cache for indexing, rather than attempt to read the nodes at indexing 
        time(which can be less reliable).
        The advantage of rendering at indexing time is that publishing will be quicker, 
        and you won't have to republish the entire site before the index is created 
        properly.
        Possible values:
            true - Render HTML at publishing time
                Note: Indexing must be set to run async in ExamineSettings.config if you set this to true

            false - Render HTML at indexing time (default)

        Note that if you're overriding renderers from your own code 
        this affects whether or not your renderer can use the umbraco NodeFactory API
    -->
    <PublishEventRendering>false</PublishEventRendering>

    <!--
        This controls which renderer is used to render nodes to HTML
            Program - Renders nodes using a modified version of umbraco's 
                      RenderTemplate functionality. 
                      Only works if PublishEventRendering is set to true
            HTTP - Render nodes using HttpWebRequests (default)
    -->
    <DefaultRenderer>HTTP</DefaultRenderer>
    <!-- 
        Needed for HTTP Rendering, determines 
        URL of the default.aspx page on your host. I recommend you use
        127.0.0.1 and set the host header below to your domain to avoid 
        problems with name resolution, firewalls, etc. 
    -->
    <HttpUrl>http://127.0.0.1:61434/default.aspx</HttpUrl>;
    <!-- Domain name of your site e.g. www.yoursite.com -->
    <HttpHost></HttpHost>
    <!-- Indexing request timout in seconds -->
    <HttpTimeout>120</HttpTimeout>
    <!-- The name of the Search Provider set up in ExamineSettings.config-->
    <SearchProvider>FullTextSearcher</SearchProvider>
    <!-- The name of the Index Provider set up in ExamineSettings.config-->
    <IndexProvider>FullTextIndexer</IndexProvider>
    <!--
        Full text indexing will be disabled for these node types.
        Note that full text indexing is not run for nodes without
        a template anyway. 
        To disable all indexing for a given node type use ExcludeNodeTypes
        in ExamineIndex.config
    -->
    <NoFullTextNodeTypes>
        <add name="searchPage" />
    </NoFullTextNodeTypes>

    <!-- 
        Setting any of the properties under here to true for a given
        Node will disable All indexing on that page.
    -->
    <DisableSearchPropertyNames>
        <add name="umbracoSearchHide" />
    </DisableSearchPropertyNames>
    <!--
        This string is passed to every page index<hed 
        by the indexer in the query string, or as a cookie
        depending on the rendering method selected.
        e.g. http://yoursite.com/page.aspx?FullTextActive=1
        The intention of this is for you to use the supplied
        XSLT helper function fulltextsearch.search:IsIndexingActive
        which returns true if this parameter is specified in 
        the query string or by cookie.
    -->
    <SearchActiveStringName>FullTextActive</SearchActiveStringName>

    <!-- Cutomise HTML Tag Stripper here -->
    <TagsToRemove>
        <add name="script" />
        <add name="head" />
    </TagsToRemove>
    <IdsToRemove>
        <add name="mainNavigation" />
    </IdsToRemove>

    <!-- Override default IIS timeout on publishing requests, value in seconds -->
    <ScriptTimeout>1200</ScriptTimeout>


    <!-- Name of the full text index in lucene, don't change unless you need to -->
    <LuceneFTField>FullTextSearch</LuceneFTField>

    <!-- 
        The query generated for Lucene boosts the relevance of the title properties, 
        if specified. This controls by how much.
    -->
    <SearchTitleBoost>10.0</SearchTitleBoost>
    <!--
        By default the Search XSLT Helper returns all fields from the
        index for users to modify. Set to false to return only summary fields. 
    -->
    <ReturnAllFieldsInXSLT>true</ReturnAllFieldsInXSLT>
</FullTextSearch>

And the content structure

Contentstructure

Do you have any idea how solve this?

With regards,

1 Answers1

0

Can you check your indexes have actually been generated? You can find the, in the following location:

ROOT > App_Data > Temp > ExamineIndexes

You should see a folder with the name of your index set?

If this folder is empty then you might have a typo somewhere in your configuration.

Failing that could you delete your ExamineIndexes folder and restart the site and let Umbraco regenerate them all again.

Let me know how it goes.

Regards

Craig

Craig Mayers
  • 179
  • 2
  • 9