Azure Search Power Skills

A collection of useful functions to be deployed as custom skills for Azure Cognitive Search.


This project provides the following custom skills:

  • HelloWorld: a minimal skill that can be used as a starting point or template for your own skills.
  • GeoPointFromName: retrieves coordinates from place names and addresses.
  • BingEntitySearch: finds rich and structured information about public figures, locations, or organizations.
  • AcronymLinker: provides definitions for known acronyms.
  • ImageStore: stores and fetches base64-encoded images to and from blob storage.
  • HocrGenerator: transforms the result of OCR into the hOCR format.
  • AnalyzeForm: recognizes form fields in a document.
  • CustomEntitySearch: finds custom entity names in text.
  • Tokenizer: extracts non-stop words from a text.
  • Distinct: de-duplicates a list of terms.

Getting Started


In order to use the functions in this project, you'll need an active Azure subscription. Most of the functions can be used on their own for quick evaluation and experimentation, but they are meant to be used as part of an Azure Cognitive Search pipeline. Each function may also add its own specific requirements, such as API keys for services they leverage.

Visual Studio is recommended, but not required. Postman is highly recommended as a way to experiment and test skills.

Installation and deployment

If using Visual Studio with the Azure workload installed, no installation is required, and the functions can just be run locally using F5.

Deployment of a function to Azure can be done through Visual Studio, the Deploy to Azure button, or continuous deployment.

Some functions may require setting environment variables or configuration entries. Please refer to the readme file in the function's directory.


  1. git clone
  2. Open the PowerSkills solution in Visual Studio
  3. Set the project for the function to test as the startup project
  4. Hit F5
  5. Experiment with calling the function using Postman

You can also create your own skills using our Hello World template skill as a starting point.