Unable to get it to index anything other than the name of the name of the document

Sep 16, 2013 at 5:06 PM
I would really appreciate it if you could tell me what I am doing wrong.

I've included sections of the config files below.

Thank you.

<IndexSet SetName="FullTextIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/FullText/">
<IndexAttributeFields>
  <add Name="id" />
  <add Name="nodeName" />
  <add Name="nodeTypeAlias" />
</IndexAttributeFields>
<IndexUserFields>
  <add Name="body" />
  <add Name="summary" />
</IndexUserFields>
<IncludeNodeTypes />
<ExcludeNodeTypes />
</IndexSet>






<?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>true</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>Program</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://********local/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>
Coordinator
Sep 16, 2013 at 6:05 PM
Hi Ast35

By default, you shouldn't really need to specify your document type properties in the IndexSet. (e.g. body and summary). To troubleshoot this, I'd recommend removing these two values for now.

I've noticed that the <Enabled> element is set to false in your FullTextSearch.config. Can you please ensure this is set to true. Once you've set it to true, FullTextSearch should automatically start to index your nodes as each of them are published. You can also manually re-index the entire site by using the FullTextSearch tab in the Developer section.

Lastly, I assume your templates do actually have the content available for your body and summary properties. FullTextSearch indexes what is actually rendered on the frontend, so the markup for your content should be included in your page source.

If this doesn't work, I'd suggest reverting to the default values for the following FullTextSearch.config values to further troubleshoot: set <PublishEventRenderings> to false and set <DefaultRenderer> to HTTP. Once updated, please ensure to re-index the site by using the Developer section again.

I hope this helps.

Best regards,
Rigardt
Sep 17, 2013 at 9:36 AM
Edited Sep 17, 2013 at 9:43 AM
Hi Rigardt,

thank you for replying. Most of the changes I had made from the default values were a result of me trying different things yesterday. Not sure how 'enabled' got back to 'false' - that might have been a result of pressing CTRL-Z for too long at some point!

I have pasted in the current state of the file after undoing some things (and pointing the Default Website in IIS at the appropriate directory so that I could use the IP address). And deleted the index files and re-indexed.

The field values I am searching for are visible in a web browser, but still the only search values that work are the document name.

I'm currently working on this site locally. Do you think it would make a difference when the site is uploaded onto the web server?

Thanks,
Ast35


<?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/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/" />
<IndexSet SetName="FullTextIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/FullText/">
<IndexAttributeFields>
  <add Name="id" />
  <add Name="nodeName" />
  <add Name="nodeTypeAlias" />
</IndexAttributeFields>
<IndexUserFields>
</IndexUserFields>
<IncludeNodeTypes />
<ExcludeNodeTypes />
</IndexSet>
</ExamineLuceneIndexSets>




<?xml version="1.0" encoding="utf-8" ?>
<FullTextSearch>
<!-- Enable Full Text Indexing/Search -->
<Enabled>true</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/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>
Coordinator
Sep 17, 2013 at 9:59 AM
Hi Ast35

Thanks for the feedback. Can I also ask that you have a look in the umbracoLog table and in the App_Data/Logs folder for any errors logged perhaps?

Regards,
Rigardt
Sep 17, 2013 at 11:07 AM
I found

2013-09-17 10:15:08,306 [8] ERROR UmbracoExamine.DataServices.UmbracoLogService - [Thread 274] Provider=FullTextIndexer, NodeId=-1
System.Exception: Error indexing queue items,Could not load file or assembly 'HtmlAgilityPack, Version=1.4.6.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040), IndexSet: FullTextIndexSet

I worked out one problem from the error ... I am using Umbraco v6.1.1 and I had downloaded the latest version of the package.

I uninstalled the package, and installed Full_Text_Search_6.0.1 instead. Unfortunately, I am now getting :

2013-09-17 10:56:30,187 [5] ERROR UmbracoExamine.DataServices.UmbracoLogService - [Thread 8] Provider=FullTextIndexer, NodeId=-1
System.Exception: Error indexing queue items,Object reference not set to an instance of an object., IndexSet: FullTextIndexSet
Coordinator
Sep 17, 2013 at 11:18 AM
Hi Ast35

Glad to hear the initial issue is solved.

Since you've uninstalled and reinstalled, can you please confirm that you've still got all the correct components in your two Examine config files. It might also be worth completely removing the old FullTextSearch index.

It would be useful to know where the null reference exception is occurring. When does the error occur at the moment? Can you please have a look at your Windows event log if it includes any further info on the exact method call where this is happening?

Thanks,
Rigardt
Sep 17, 2013 at 1:32 PM
Hi Rigardt,

I have now restored the website files and database to before I installed it yesterday (to make sure there was nothing left over from the newer package), and re-installed the 6.0.1 package but it is still giving the same error.

I'm afraid I'm not sure exactly where to look in the Event log. I have opened the Event Viewer and looked down the tree, but I can't see anything that looks relevant.

Sorry to keep bothering you with this.
Coordinator
Sep 17, 2013 at 5:11 PM
Hi Ast35

I was wondering if anything might show up in the Event Viewer > Windows Logs > Application. If you can trigger the error again and refresh this log, then hopefully it would contain some more info which might be helpful? Also, have you had another look at the umbracoLogs table for this second error for any more info?

Many thanks,
Rigardt
Coordinator
Sep 19, 2013 at 9:25 AM
Hi Ast35

Can I please ask you to try the following: ensure to remove the FullTextSearch index. Then ensure to configure the FullTextSearch.config before you use the index buttons on the Developer FullTextSearch tab. i.e. set the <Enabled> and <HttpUrl> / <HttpHost> before you index for the first time.

Another user reported the same issue as you're experiencing and it seems this method started to create the index as expected. It might be a quick fix but at least if it works it will get you going for now.

Best regards,
Rigardt
Oct 2, 2013 at 3:31 PM
Hi,

Im having the same issue i and i cant figure out what i am doing wrong, i tried the fix in the other issue, uninstall delete all folders with index and the table. And reinstall setup and then index, still wont work for me and return ERROR node:-1.

I have gotten it to work on my local machine, but when i do the same on our production server it refuse to index.

Do i need to setup something extra on my production server, i cant figure out what i am missing?

Hopefully there is a solution for this :)
Coordinator
Oct 7, 2013 at 9:40 AM
Hi Erikmmm

To troubleshoot this, can you please confirm that the FullTextSearch.config has already been configured before your first full text indexing on production? i.e. have you already set <Enabled>, <HttpUrl>/<HttpHost> before re-indexing from the FullTextSearch Developer tab?

Can you also please let me know which Umbraco version you're using and which version of FullTextSearch you have installed?

Unfortunately I still cannot manage to reproduce this, so any help on this would be appreciated. Hopefully we can provide a fix for this issue soon!

Many thanks,
Rigardt
Oct 8, 2013 at 1:59 PM
Yes i have tried the fix mentioned some where else on the site where you uninstall, delete the table from the database and delete the index folder reenter all my information and set enabled to true after everything is setup.

Im am using: Umbraco v6.1.4 (Assembly version: 1.0.4982.22139)
And fulltextsearch version: 6.1.0

My production server is running:
Windows Server 2008 R2 standard
Service pack 1
IIs version 7.5
Umbraco is running off MS sql server 2008

If you need futher information ill send you what ever i can.
Coordinator
Oct 14, 2013 at 1:06 PM
Hi Erikmmm

I've finally managed to reproduce the issue. It turns out that this error occurred when trying to index a node that had no template selected. I assume you might have this on you production environment but not on your local?

I've uploaded a new version (v6.1.2 for Umbraco 6.1.4) which should solve this issue. Apologies for the delay in locating the actual cause of this issue.

Please let me know if this solves the issue for you or if you might still be experiencing any issues.

Regards,
Rigardt
Marked as answer by governor on 10/14/2013 at 5:06 AM
Oct 18, 2013 at 12:39 PM
Hi Rigardt,

Looks like that did the trick thanks you very much for the support

Regards,
Erik