Developer Overview

Solve for All allows developers to create their own answer engine plugins that work together to implement a custom answer engine for each user. Developers can share answer engine plugins with the community, or keep them private to their own account.

Some answer engine plugins can be created without programming knowledge. For example, to create an Answer Generator, you can specify how the URI is formed using a URI (a more general form of a URL) prefix and suffix, which can be discovered by reverse engineering a form. As another example, to create a Content Recognizer, you can specify a pattern to match the content.

The Solve for All answer engine provides contextual information about queries, such as the classification of terms, which can greatly aid plugins in deciding when to activate and what answers to output. To learn more, see the Knowledge Base documentation.

To get started creating plugins quickly, check out the guides.

Answer Process

Understanding the answer process is the key to developing plugins effectively.

Answer Engine Plugin Types

These are the types of answer engine plugins you can create:

  • Content Recognizers recognize and optionally parse portions of answer queries
  • Semantic Data Collections are collections of searchable documents that may contain semantic information suitable for inline answers
  • Triggers determine when to activate Answer Generators, depending on the results of content recognition on the answer query
  • Answer Generators output URIs that point to information related to the answer query, or blocks of informational content
  • Answer Generator - Trigger Associations indicate that an Answer Generator can execute successfully when a Trigger is fired

Common Properties of Plugins

Most answer engine plugins have common properties.

Javascript-backed Answer Engine Plugins

Advanced functionality can be achieved by writing answer engine plugins in Javascript. In particular, Javascript-backed Answer Generators can make web requests to external sites to fetch data that can be inserted into answers. See Javascript execution for more details.

Example Plugins

You can see examples of plugins in our GitHub repository.