Personalization

Hello,

 

I am new to funnel back and have been reading some documents. My company has implemented funnel back search for the site. As part of my task based on a set a pages saved by the user I want to find out what the user is interested in. 

 

I am planning to gather this information using the meta tags of the pages.

 

I have been looking into padre-di executable to get metadata information of a page. I would like to do this as a service in the background.  Probably a windows service calling this executable and storing the information in the db. Any help in this front will be very much appreciated.

 

Thanks

Suhu

 

 

Hi Suhu - 

 

If you're using Funnelback v13+, you might find that a combination of Search Sessions and Recommender could solve the problem.

 

Search Sessions can be used to save/shortlist pages manually by a user and track search queries and clicked results.

 

Using this session information, the Recommender endpoint can take these results' URLs as a seed and, along with the collection, return recommended items.  Each recommended item will contain all available metadata for each result in the corresponding JSON response.

 

See also:

http://docs.funnelback.com/13.0/recommendations.html

http://docs.funnelback.com/13.0/search_session_and_history.html

 

Each feature demonstrated in isolation

http://search-demo-au.funnelback.com/s/search.html?collection=demo-v13-session

http://search-demo-au.funnelback.com/s/search.html?collection=demo-v13-recommender

 

Alternatively, a query against all the URLs (or identifiers from the pages of interest) might be more appropriate (e.g. &meta_v=/path/to/first/url|/path/to/second/url).  The corresponding JSON response should contain all the metadata values for those records (assuming metadata summary modes).  If you've configured metadata facets, result metadata facet counts in that JSON response could also be a good indicator of broad trends across metadata from those URLs.

 

See also:

http://docs.funnelback.com/13.2/custom_summaries.html

http://docs.funnelback.com/13.2/search_json.html

http://docs.funnelback.com/13.2/faceted_navigation.html#Metadata%20and%20metadata%20field%20fill

Thanks very much for your response. I am currently looking in to all the options. Currently we are using V11.1. How difficult is it to upgrade to V13?

 

Is it possible to switch on the session only for logged in users?

 

can we get a recommendation based on a list of pages the user has already saved? ie not using the session

 

For the recommendations to work, do we need metadata in any specific format?

 

I tried querying against multiple url's in the meta_v paramter but it doesn't seems to work. Any suggestions?

 

http://search-demo-au.funnelback.com/s/search.json?collection=demo-v13-recommender&meta_u_sand=www.bookdepository.com&meta_v_phrase_sand=Processing-Casey-Reas%2F9780262182621|category/2858/Food-and-Drink&num_ranks=1&sort=url&SM=meta&SF=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLNMNOPQRSTUVWXYZ1234567890

Hi Suhu -

 

There's quite a few questions you've got in there:

 

 

  Currently we are using V11.1. How difficult is it to upgrade to V13?

 

In-place upgrades are simplest - your indexes will be offline and unqueryable for a portion of the upgrade, so I'd generally recommend snapshotting your production environment in staging, performing an in-place upgrade on staging, then redirecting traffic from production to staging once the upgrade is complete and tested before decommissioning an old production environment.

 

Running the v13 Funnelback installer using default settings is recommended - some non-standard application-level configurations (e.g. changes to Jetty ports) may be overridden as part of the upgrade.

 

Differences between versions can be identified at:

 

http://docs.funnelback.com/release_notes.html

 

Is it possible to switch on the session only for logged in users?

 

 

Search sessions are enabled at a collection-level, rather than at query-time, or for a given profile.

 

Two approaches might be worth considering:

  1. Create two meta-collections - one for logged-in users, one for anonymous users.  Both meta collections have near-identical configurations and component collection(s), but one meta collection has sessions enabled, while the other does not.  The calling / wrapping CMS would need to determine which meta collection to query, based on the user's logged-in state (&collection=meta-loggedin|meta-anon)
  2. Create two forms within the target [meta] collection - Sessions would be enabled for all users, but the corresponding user interface components would be toggled on or off based on the Funnelback form being used.  Form toggling would be determined by the calling / wrapping CMS (&form=loggedin|simple)

 

can we get a recommendation based on a list of pages the user has already saved? ie not using the session

 

 

With no other configuration of the Recommendation engine beyond the defaults, your best approach is to use the Recommender JSON endpoint, passing the collection and URL for each page you are seeking recommendations on.

 

http://docs.funnelback.com/recommendations.html#RESTful%20API

 

Only one URL can be passed to the Recommender endpoint at a time:

 

http://search-demo-au.funnelback.com/s/recommender/similarItems.json?seedItem=http://www.bookdepository.com/Information-Retrieval-Stefan-Buttcher/9780262026512&collection=demo-v13-recommender&maxRecommendations=10

 

For the recommendations to work, do we need metadata in any specific format?

 

The Recommender JSON endpoint will provide an array of metadata that has been indexed for that URL in the given collection, according to the settings defined in metamap.cfg.

The simplest approach would be to ensure that you're outputting metadata in <html><head><meta> tags, and map those field names in metamap.cfg prior to an index.

 

http://docs.funnelback.com/metamap_cfg.html