Merging CMS PageData Results with External Data

Vote:
 

Hi,

We have a page type Venue of which we have 2 derrived types Hotel and GolfCourse.

Conceptually these can both be part of a product 'Package' i.e. 1 night at x Hotel, 2 Rounds of Golf (1 at Course Y and 1 at Course Z)

This data come from an external source/backend system.

A Package then has 'Prices' per day. typically 12 months worth but sometimes more.

So a Package has properties such as :

  • Number of Nights
  • Number of Rounds,
  • BoardType
  • Flights Included
  • ...
  • HotelIds[] (Hotels included in this package)
  • GolfCourseIds[] (GolfCourses include in the this package)
  • PackagePrices[]

And a PackagePrice has

  • TravelDate
  • Price
  • PriceCategories[]
  • ...

Need some advice on how best to index this in EPiServer Find.

Currently we have indexed all the Packages with their nested Prices, intention to allow users to search based on Package facets (nights, rounds, boardtype etc..) but also PackagePrice TravelDate.

On top of all that we want to show the Venue results (Hotel and GolfCourse) but the Price and Package information from the Package Index.

We cannot nest the Packages under the Venues as this makes the Venue Page too large for indexing, so it sounds like a 2 stage search to me.

1. Search on Venues (term search, lat/long search)

2. Search for packages where HotelIds includes VenueResults where type is Hotel OR GolfCourseIds includes VenueResults where type is GolfCourse)

One of the biggest issues is trying to figure out how to Page these results and sort them.

If I try and Page on the Venue search I might end up with venues that have no prices when package search is done.

If I try and Page on Package results, it might be that all packages in the page of results are for the same venue.

I also thought about flattening the Package data (number of rounds etc..) down into the PackagePrice and indexing that instead but the number of documents is far greater than that index allows.

Is it be possible to do a Search which included the searching its included Hotels and GolfCourses for the search term or lat/long ? So it would just be the 1 Search step instead of 2

Any advise greatly appreciated.

regards,

Danny

#140184
Oct 12, 2015 16:05
Vote:
 

Hi Danny,

if you want to do nested searching using EPiServer Find there is a package called nested2find that helps with this, it can be found at https://github.com/x2find/Nested2Find. Nesting is something we are working on adding to Find as a native feature as well so if you have the patience to wait it will get there eventually.

BR,

Viktor

#140365
Oct 16, 2015 15:50
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.