blob: 692147bbc882c17f4455554b5c24437761a8855c [file] [log] [blame]
#summary Explanation of what Adaptors are and how they work
Adaptors are the next-generation solution for providing your repository data to your Google Search Appliance (GSA). If you are already familiar Connectors and the GSA, then you may be interested in the AdaptorConnectorComparison.
= Introduction: Content Repositories and the GSA =
For each repository you want to search with your GSA, you need some way to provide that repository's data to your GSA. If your repository provides an HTTP website, then no special solution should be necessary, as the GSA should be able to crawl your repository like any other website. However, sometimes you want closer integration with the GSA or your repository doesn't provide a website and thus you need solution to provide its data to the GSA.
There are many ways to model and communicate your repository's contents to the GSA, and Adaptors are one of them. For other possible solutions, look into [http://code.google.com/p/googlesearchapplianceconnectors/ Connectors] and [http://code.google.com/apis/searchappliance/documentation/614/feedsguide.html Content Feeds].
All Adaptors use the Adaptor Library to communicate with the GSA. The Adaptor Library defines much of the architecture of the Adaptor and controls communication with the GSA. Since all Adaptors share the Adaptor Library, the rest of the discussion will relate to the Adaptor Library and what it provides to Adaptors.
= Adaptor Library's Objectives =
Shallow learning curve, incremental development, and performance are the core design forces of the Adaptor Library. We want you to be able to create a working Adaptor within a day, incrementally add extra features, and still be able to tune for high performance.
The APIs are designed where you were can ignore pieces you don't need, and only learn them once you need them. This makes the various features separate and orthogonal to each other. To implement a basic Adaptor, you only need to implement two methods know the basics of five different classes. In some ways, five classes may seem like too many, but they all serve an obvious function and you only need one method from each.
Performance is a concern for the Adaptor Library, but it does come second to ease of use. However, even without giving up how easy the library is to work with, the library has been able to achieve high performance and easily handles millions of documents; we generally expect the GSA or the repository to be the bottleneck.