5

I was playing around with the ootb search components in SXA and I got some results so yes, it's working. But now I wanted to know what was all included in the searchable content (apparently computed in a SxaContent field) and noticed that content from a reusable RT field was included. Cool. When I update the RT value, the index seems to follow as I can find my new content. But when I add the RT to another page, that page is not found as well. So now I have 2 (related, so bundled) questions:

  1. What is included in the "searchable content" of a page in a default sxa setup? And can this be customized? And do I need to do something in a custom component to add (or remove) the data in the search results?
  2. How is the index updated? As mentioned, I noticed that a reusable data item change seemed to affect the pages the component was on, which is cool. But when adding a component to a page, that extra text was not found in the index. So, how does the index know what to update and is it possible that some data might be missed?

1 Answer 1

3

1)

sxacontent is a computed field with following implementation Sitecore.XA.Foundation.Search.ComputedFields.AggregatedContent

If you open it you will see for example this piece of code.

if (item.Paths.IsMediaItem)
{
    return _mediaContentExtractor.ComputeFieldValue(indexable);
}

Media items are handled different.

if (!item.IsPageItem() && !IsPoi.Verify(item))
{
    return null;
}

Only items under you Start Item (by default Home item will be indexed) and Items with certain POI fields.

You can provide your own implementation by overwriting following config node (example for Solr)

<field fieldName="sxacontent" returnType="textCollection" type="Sitecore.XA.Foundation.Search.ComputedFields.AggregatedContent, Sitecore.XA.Foundation.Search">

2)

Index is updated like in vanilla Sitecore. SXA does not provide additional triggers, except additional processor GetDatasourceDependencies in indexing.getDependencies pipeline.

You might be right. I would need to perform test for different scenarios to verify this.

Implementation provides fields indexing for Data items once index rebuild is triggered for your page item but it will be skipped once you touch data item. But there is that additional processor for adding referenced items (data items) so everything should be fine

If you could provide exact steps to reproduce I will be able to verify it and report as a bug.

1
  • 1
    Steps are: add a reusable text component with an existing datasource to an existing page and publish. The data from within that datasource is not found on that page in the search - other pages that already included a component with that same datasource are found.
    – Gatogordo
    Commented Nov 10, 2016 at 8:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.