Search sessions and history
If you have upgraded from Funnelback 15.22 or earlier you will need to upgrade any existing sessions and history code within your search result templates to use the current sessions and history widgets. The old AngularJS widget is not compatible with Funnelback 16 and will not work correctly. |
Search sessions and history widget
The search sessions and history feature in Funnelback requires cookies to be enabled in the user’s browser. And therefore feature is only supported for Funnelback endpoints over HTTPS protocol. Funnelback has the ability to track a user’s search terms and recently visited items as well as providing the user with the ability to create a shortlist of search result items. |
Result shortlisting
Result shortlisting provides a user with the ability to flag certain result items to be added to a shortlist (or result cart) by pinning the item. The pin changes to a cross once the item has been shortlisted. This allows a user to remove the item from the shortlist by clicking on the cross.
The shopping cart icon in the panel containing the search box shows how many items have been shortlisted. All the shortlisted items can also be viewed by clicking on the shopping cart icon.
Search history
When search sessions are enabled a user’s search history is tracked as searches are submitted. A summary of the search history is displayed above the search results.
Additional information is displayed if you hover over an item. If the item has a filter applied (as indicated by the funnel icon) then the applied filters will display on hover, otherwise a tooltip indicating the time is displayed.
Clicking the more link opens the full history screen.
Visited items history
Funnelback also keeps track of all the search results that a user visits. Once a result has been visited an additional field is displayed within the result summary indicating the time that the visit occurred.
Clicking on the Last visited link also opens up the history screen which provides a full list of recently visited URLs.
Tracking mechanism
The user session is established through HTTP cookies. History and result selection are saved in a database. There is one database for a given Funnelback installation, but the data is saved on a per-collection basis, meaning that each results page will have separate search and click history, and separate results selection for a given user.
When sessions are enabled, users are automatically assigned a unique ID which is transmitted with every search query.
This feature relies on the URL of search results being valid URLs, and identical to their URL in the index. If the URL is rewritten in any way (using a hook script for example) you will need to ensure that the search results URLs passed to the session API calls are the indexed URLs, not the rewritten ones. |
Enabling and configuring search sessions
Sessions are enabled with the ui.modern.session parameter. Once enabled, Funnelback will immediately start recording searches and clicks, and allow users to select results.
Performance impacts
To record search history Funnelback needs to contact the session database for every query and this impacts the query response time. The time spent contacting and querying the database will depend on the server configuration, the type of database used and the size of the database. For example, on a standard Linux server with the built-in database engine and a fresh database the overhead is around 20ms per query.
For this reason it’s preferable to not enable the session features until you decide to make use of them in your search results page.