Shared Indexes in a PI Web API cluster

Blog Post created by ray on Feb 25, 2016

Our architecture for PI Web API Indexed Search relies on a Crawler that scans PI System databases for meta-data and builds an index to this information. The PI Web API provides REST services that deliver search results to clients. This works well but it's less than ideal if you want to create a cluster of PI Web API servers working together. Each PI Web API server needs to hold its own index, so it needs its own Crawler to build it. So, if you build a cluster with 3 members, then you will have 3 indexes and 3 Crawlers, all doing the same work.


In PI Web API 2016, we are launching a Community Technology Preview (CTP) of a Shared Index. This means that all members of a cluster will share the same index. It also means that only a single Crawler is necessary to scan the PI System databases. All search results returned to clients will be consistent regardless of which cluster member performs the search.


We have the Shared Index working but we don't have time in this release to create a proper administration tool. If you would like to build a cluster with a shared index, you will have to configure it manually. We will give you documentation on how to do this, of course. Let me know if you are interested!