Missing search result "summary" text?

Jul 9, 2013 at 10:21 PM
Edited Jul 9, 2013 at 10:24 PM
Hello,
I have a question about the Search Results Razor macro. The instructions about the parameter "summaryProperties" say:
The list of properties, comma separated, in order of preference, that you wish to use to create the summary to appear under the title. All properties selected must be in the index, cos that's where we pull the data from. Defaults to Full Text
Since I can't be sure there is a "summary" property that will be filled-in and visible on every page, I left this option blank, hoping that the "Defaults to Full Text" means that it will show some contextual snippet from the actual results (akin to Google, for instance), but at this point it is not displaying anything except the "Read more..." default text.

Am I misunderstanding or otherwise missing something?

Thanks!
Heather
Coordinator
Jul 10, 2013 at 10:28 AM
Hi Heather

It does sound like your understanding of how it's suppose to work is correct. To clarify again:

Leaving the "summaryProperties" macro parameter blank, should return the highlight from the field where the search term was found (e.g. Google). You should not need to do any further configurations for this...as long as the field is blank. If you do populate it with any fields, these fields must also be specified in the FullTextIndexSet as IndexUserFields.

I have tested this and so far cannot reproduce the issue. The only times I do get the "Read More..." text, is when I've populated "summaryProperties" but for example haven't added those field into the index set.

This might be a long shot, but I have noticed that if you have a space for summaryProperties, it assumes you've specified a value. Can you please make sure that when you left it blank, that you have an empty string and not a space?

Also ensure that your index is up to date (you can use the FullTextSearch Developer tab to rebuild it) - although this specifically should not cause this issue. If this doesn't work, do you have any further info you can provide perhaps that would help reproducing the issue e.g. document types with searchable properties, their template snippets rendering these properties, FullTextSearch.config, FullTextSearch.cshtml, ExamineSettings.config snippet, ExamineIndex.confg snippet.

Regards,
Rigardt
Governor Technology
Jul 11, 2013 at 5:03 PM
Thanks, Rigardt,

After posting, I updated all the Examine settings to include all the possible properties worth indexing, and after some index kicking, it is now showing text for the summary. Now my problem seems to be that the nifty options you have built in to "Full Text Search" seem to be getting ignored.

For instance, I have added
@if (!Governor.Umbraco.FullTextSearch.Extensions.GeneralExtension.IsIndexingActive())
{
    ...macro output which shouldn't be included in search indexing such as nav menu, footer, etc...
}
to several macros, and I can see that the additional content is not getting rendered by viewing a page with "?FullTextActive=1" appended to the url, but the text is appearing in the search results summaries, for instance, the text of nav menus is the first thing visible.

In addition, even though I have several doctypes on the site which represent parts of content (like a sidebar blurb) and shouldn't be linked to directly, but indexed as part of the page that is pulling it in for display, and I have included them in "<NoFullTextNodeTypes>", they are still appearing in the results as pages which can be linked to directly.

If I also add the same list of doctypes to the "ExamineIndex.config" <ExcludeNodeTypes> section of <IndexSet SetName="FullTextIndexSet" and re-index, the doctypes content is no longer there as an individual search result to its own "page", but a search for sidebar content doesn't turn up the pages which include that sidebar content either, which it seems they should...

Ps. I have <FullTextSearch> <Enabled>true</Enabled>
Coordinator
Jul 24, 2013 at 11:51 AM
Hi Heather

Just to make sure I understand correctly - the three issues mentioned above - were these also the case before you've updated the Examine settings to include all the possible properties worth indexing to get the summary text to show up? It sounds like they were fine at first but all started after the Examine settings update?

Thanks,
Rigardt
Jul 24, 2013 at 6:40 PM
Hi Rigardt,

Well, at first I wasn't get much in the results (the original query, above), and I made the config file updates (to both FullTextSearch and Examine) about the same time, so I can't pinpoint a cause.

Current status of the isssues:

1. IsIndexingActive() in macros should exclude rendered content from indexing
This is working now. For instance, there is a main top nav menu with the word "Community" in it, but when I search for "Community" it only displays the 2 pages which include that word in the body text (and not every page on the website). YAY!

2./3. "Sidebar" content should only be indexed as part of "parent" page.
I am currently getting mixed results for this. For example, I have a DocType called "Blurb", which should never show up as a result in-and-of-itself (aka with a link to the Blurb node), but if the Blurb content is rendered on another page (for instance, on the sidebar of the FAQ page), and someone searches for that content, the "parent" page should be in the results (in this case, the FAQ page should be in the results). My tests have revealed the following: If I do a specific search for a phrase from the body property of the Blurb, it properly only returns the FAQ page, however, if I search for a word which is in the Node name of the Blurb, the Blurb itself (with a full url) is returned as a search result.

My FullTextSearch.config has this data:
<NoFullTextNodeTypes>
        ...
        <add name="Blurb"/>
    ...
</NoFullTextNodeTypes>
My ExamineIndex.config contains this:
  <!-- 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>
    ...
      <add Name="BlurbContent"/>
      <add Name="BlurbLinkText"/>
      <add Name="BlurbShortDescription"/>
      <add Name="BlurbTitle"/>
        ...
    </IndexUserFields>
    <IncludeNodeTypes />
    <ExcludeNodeTypes>
    ...{a bunch of DocTypes here, does not include a record to exclude "Blurb"}
    </ExcludeNodeTypes>
  </IndexSet>
Thanks for all you assistance.
Heather