Skip to content

Proof of concept for integration API.AI with Episerver Find search

License

Notifications You must be signed in to change notification settings

mmols/episerver-find-apiai-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Episerver Find / API.AI Proof of Concept

This repository is a fork of Episerver Quicksilver 10.2.0 which demonstrates integrating API.AI natural language processing into Episerver Find search.

In this example, the color, gender, brand, and category of products are parsed by API.AI as entities from queries such as "black Hanes shirts for guys". This is normalized to structured JSON by API.AI, which is then used to pre-filter existing fields on the Episerver Commerce product data model in the executed Episerver Find search.

API.AI integration is handled by https://github.com/api-ai/api-ai-net

Installation

  1. Follow the Episerver Quicksilver installation instructions at https://github.com/episerver/Quicksilver
  2. Read up on the API.AI documentation to understand features and functionality (at http://api.ai)
  3. Create an Episerver Find Developer index, and add the associated index configuration in the Web.config of the Commerce.Site project
  4. Create an API.AI Account, and acquire an API key, adding it to the AppSettings section of the Web.config:
  5. Upload the "color", "brand", "gender" and "category" entity json exports from EPiServer.Reference.Commerce.Site\Features\Search\ApiAiExports to API.AI
  6. Upload the "search-by-category" intent json export from EPiServer.Reference.Commerce.Site\Features\Search\ApiAiExports to API.AI
  7. Run the site
  8. Update the "tees" node in the Catalog to be "shirts-w" (necessary to align the category codes within the example catalog data)
  9. Run the Episerver Find indexing job to index all product data
  10. On the Search Page, check the box for "Enable AI Search?" and publish the page
  11. Search for utterances defined in the "search-by-category" intent

Future Considerations

  • Using API.AI entity parsing to boost certain fields in search requests instead of pre-faceting search results
  • Using API.AI intents to detect specific thematic searches and subsequently redirect the user to specific content within Episerver
  • Using API.AI to adjust search result layouts based on intent (for example, showing specific marketing content by brand)

License

License

About

Proof of concept for integration API.AI with Episerver Find search

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published