Panl Cookbook

Or solutions to common search interfaces seen from around the web.

If you are looking to replicate functionality for specific search interfaces that you have come across in your travels on the web, then below are some interfaces that have been collected, and an explanation of the Panl configuration required to drive them.  


amazon.com.au

Overall, Amazon uses a lot of OR facets to help bring back the largest amount of items for sale.

'Customer Review' can be implemented with a RANGE facet on the integer, with links being generated (and displayed as stars)

The 'Brands', 'Item Length', 'Point Type', and 'Writing Instrument Style' are all configured as OR facets - as all of these facets are attributes of pencils which should only have one value - i.e. a pencil cannot be a length of 5.0 to 9.9 cm AND 10.0 cm to 14.9 cm.

The 'Price' facet is a hard-coded RANGE facet, until another facet is selected, in which case it becomes a dynamic RANGE facet, interestingly enough, the top value is always $dollar value+ - i.e. the top price or greater.  Panl does not yet support this functionality to have the dynamic maximum dynamic price range as a wildcard.

The 'Condition' facet can be implemented as a BOOLEAN facet as only one of the values can be selected at any one time.

The URL for a search for mechanical pencils is

https://www.amazon.com.au/s?k=mechanical+pencils

And selecting the facets:

https://www.amazon.com.au/s?k=mechanical+pencils&i=office-products&rh=n%3A4852445051%2Cp_123%3A253626%2Cp_n_feature_fourteen_browse-bin%3A17636501051%2Cp_n_feature_nine_browse-bin%3A10501750051%2Cp_n_feature_four_browse-bin%3A10458439051&dc&qid=1725799235&rnid=10458430051&ref=sr_nr_p_n_feature_four_browse-bin_1&ds=v1%3AEz7aSvDG5fpk0MqhB%2FSnYTSKWvrBIXOMYHnoRX1YqHA

Is almost undecipherable in its meaning.

argos.co.uk

Shown to the left are the facets for a keyword search result of 'mechanical pencils' with a few options for narrowing down the selection.

The 'Category' is a Regular facet, with the facet counts shown in parentheses.

'Offers & Clearance' is a BOOLEAN facet, only showing the 'true' value.

'Price' is a predetermined list of price ranges, with multiple values able to be selected.  To implement this sort of search, a derived field could be created with the price range and then set as an OR facet.  Panl does not support multiple ranges - i.e. a RANGE and an OR facet.

'Customer Rating' is a single select facet with a ratings range from a value and upwards.  This can be implemented by pre-generating RANGE values of 1 to 5, 2 to 5, 3 to 5, 4 to 5, and 5.

The keyword search URL is https://www.argos.co.uk/search/mechanical-pencils/ and with every facet being placed in the URL with the format <facet_name>:<facet_value>.

For example the following URL:

https://www.argos.co.uk/search/mechanical-pencils/customer-rating:4-or-more/price:%C2%A320-%252D-%C2%A325/ 

Has two facets selected

  1. Customer Rating, with a value of 4-or-more, and
  2. Price, with a value of £20---£25

realestate.com.au

RealEstate.com.au uses a single page search interface which pops up if you click on 'filter' or the results.  There are a lot of options to choose from to narrow down the search (with the page search interface scrolling for quite a distance).

'Property Type' is an OR facet, allowing the user to select any one of the property types.

The RANGE facet is implemented with two drop downs to set the start and the end of the range without a wildcard search (i.e. inclusive values that don't select values greater than or less than those values).

RANGES are two drop downs with a default option for 'Any' which would be defined as the range value maximum with a wildcard.

BOOLEAN ranges are implemented as three checkboxes, the first to select nothing, the second for the true value, and the third for the false value.

Some of the facets are multivalued fields, but presented as checkboxes ('Outdoor features' is one such example).  This allows the user to select as many values as wanted, however, these selected options may return no results.  This can be implemented by utilising the 'is_multivalue' key on the JSON response object for a Regular facet and implementing the selection as multi-checkboxes rather than radio button (which only allow one selection).

The URL

https://www.realestate.com.au/buy/property-retire-townhouse-between-50000-any-in-sydney+cbd,+nsw/list-1?numBaths=2&keywords=ensuite%2Cdishwasher%2Cheating&checkedFeatures=ensuite%2Cdishwasher%2Cheating&source=refinement

Has a relatively readable URL, however uses keywords for some of the facets.

BookFinder.com

BookFinder in an aggregator search site which looks searches for books

The text search (Author, Title, ISBN, Keyword, and Publisher) acts on individual search fields, which is not supported by the Panl server in that the text is searched across all fields.

The language facet is a Regular facet.

Type is an OR facet, being able to select 'New', 'Used', both, or neither.

Features look like 4 BOOLEAN facets, with each being able to be selected independently.

Destination and Currency are Regular facets with only one selection available per field.

Publication Year and Price are range facets with possible wildcards.

Rymans.co.uk

~ ~ ~ * ~ ~ ~