Search Taxonomy Term pages containing entity referenced nodes So, I've got myself into a bit of a pickle here and was hoping that could point out a way through.


Drupal 7
Views
Display Suite
Entity Reference
Inline Entity Reference
Search API
Database Search


I have been building a sort of hybrid traditional multi-page and single-page site within the Bootstrap framework. In order to meet these requirements I have used an inline entity reference field to group multiple different nodes (each representing a Display Suite layout, such as 50%-50%, 33%-33%-33% etc) into a content type called 'Subject'. These 'Subjects' are to form each distinct row in a single-page style layout.

This has worked well, and I now need to compile these 'Subjects' into pages.

Because I want to avoid too much complexity in the workflow I decided against nesting these 'Subjects' into yet another content type called 'Page' using more entity references. Instead I went for a taxonomy vocabulary called 'Sitemap' with a term for each page, which could be selected from a term reference field in the 'Subject' content type. I then use a view to spit out all of the referenced 'Subject' nodes associated with that term as rendered entities.

TL;DR - I have a series of taxonomy term pages full of referenced rendered entity nodes.

When looking at implementing search I just can't get my head around how to index and display results. I obviously need the contents of these term pages to be indexed, but I also need to ensure that results will only point to term pages (preferably deep linked) and not any of the original nodes referenced on the term page. Granted, I'm not very familiar with it, but looking at Search API I can't see how I could achieve that.

Is this just a really silly way to achieve this kind of structure?
I stumbled upon a module called Search by Page Paths which swerves the above issue by indexing the front end of the site. This approach means that regardless of the source of my data and where it is placed, it will see anything rendered out onto a page as part of that page.

The main caveat is that one must specify paths to index, but in terms of my particular build this isn't a bad thing and means I have complete control over where a user ends up after searching.