Introduction

Dovetail Seeker searches your Dovetail CRM data including rich content from CRM attachments and file system documents using a powerful and familiar Google-like search interface. Using the power of Lucene, an open source high performance search library, Dovetail Seeker lets you quickly index exactly the data you want within your Dovetail CRM environment.

This document will help you understand:

Architecture

Dovetail Seeker contains two major components: indexing and searching.

Indexing

Before you can search for your data, you need to index it.

What is an index?

An index is a collection of searchable data organized into documents each having many fields of information. Every document in the index is a potential search result with each document's field potentially containing one or more searchable terms. Documents created by Dovetail Seeker are of the following types:

You may use either the Seeker Indexing Windows Service or Seeker Console to create and update your search index with data from your Dovetail CRM system or from files your organization commonly uses.

For example, you will likely wish to search for cases in Dovetail CRM. For each case in the system, the indexing application will add a dovetail document to the index containing details about that case. The document will contain at least an id, title, and case summary. Once a document for that case is present in the index it can be searched – the case id, title, and summary are available as search results.

Files can also be indexed. When the indexer encounters a CRM attachment or is told to index a directory a file document is added to the index with the text extracted from the file used as the summary searchable contents.

Testing

Seeker Console also provides a basic search interface to facilitate testing index contents.

Searching

Once your CRM and file content is indexed you need to expose your search index to the world. The Seeker web service is the workhorse here providing a search API for search clients written in whatever language you like to have access to your indexed content.

Seeker web service

Seeker is a web application that allows you to search an index created with one of the indexing applications. Seeker runs as a stand alone web application that provides search capabilities to Dovetail CRM applications.

Search queries are submitted to the Seeker web service using a standard HTTP GET request. Search results are returned as JSON, a standard data format that can be consumed by cross platform applications.

Because Dovetail Seeker is exposed as its own web application, the search operations can be used for both Dovetail Agent and Dovetail SelfService.

Seeker File Proxy

Dovetail Seeker gives you access to your indexed CRM attachments and file system documents. It is recommended that you use the included file proxy to securely expose your file documents to public facing search clients.

Search results returned for files contain a download URL which can be given to the search user allowing them to download indexed files. The Seeker web service is responsible for fulfilling these download requests but usually is hosted behind a firewall.

To give public search users the ability to download indexed files we've included a proxying web application which the Seeker web service can be configured to use.

Integration with Dovetail applications

Our Dovetail Agent and Dovetail SelfService web applications are able to use Dovetail Seeker's search capabilities. Each application has its own search interface allowing users to search Dovetail CRM.

Here is an example of how Dovetail Agent executes a user's search:

How it Works

Dovetail Agent and Dovetail SelfService use the Seeker web service to perform searches. Dovetail Seeker includes two indexing applications: Seeker Console, a command line application, and Seeker Service, a windows application, which are responsible for keeping the index up-to-date.

An index is a collection of files in a directory. Indexing applications create an index using Document Specifications as a guide to know what details about Dovetail CRM entities, attachments, and what files to index. The indexing applications must have read-only access to the Dovetail CRM database and write access to the index directory.

Seeker Web Service

The Seeker web service exposes search capabilities to any HTTP capable application. The web service executes searches against the index and returns the results in JSON format.

The web service is also responsible for serving indexed attachments and file documents and will need read access to the directories where these files are stored. A file proxy web application is used to service indexed files to public facing installations search users.

The web service must have read access to the index directory and any attachments and file system directories it is indexing. We recommend that the index directory is be hosted on a file system local to the Seeker web service.

Seeker How It Works

File Proxy

Dovetail Seeker is able to index Dovetail CRM attachments and files using file document specifications. Search results for file documents contain a URL which users can use to download the indexed file.

The included Seeker File Proxy is necessary because it is not recommended to expose the seeker web service directly to public facing networks. The Seeker File Proxy web application can be installed outside your firewall to specifically handle public search user's requests to download files.

A file request is shown below in a sequence diagram with the different component interactions.

File Proxy Sequence Diagram

File proxy components

The file proxy web application uses Microsoft's Application Request Routing to proxy file uploads and downloads between the public Internet to the seeker web service. The web.config file is setup to forward the file requests by installer. If you need to you can manually configure the file proxy.

Seeker web service

To serve files the Dovetail Seeker web service must have the same read access indexed files as the Dovetail Seeker Indexing Windows Service.

The Dovetail Seeker web service must be configured with the file proxy URL to serve files to public users. In the configuration file seeker.config, the value for seekerWebService.fileDocumentProxyBaseUrl entry must point to where the file proxy is installed.

The default location of the configuration file is [Install Path]\config\seeker.config.

If the value is empty, attachments and files are not accessible via HTTP to the search clients.

The diagram below is a high level picture of the installed components that interact with file requests.

File Proxy

Administrative Page

Dovetail Seeker has an Administrative page that shows details about each document specification present in the index. This specification details view includes:

You can view the Seeker Administrative page in two ways:

Security

No authentication is required for searches using the Seeker web service. If you consider your indexed information to be sensitive, we recommend you take appropriate measures to secure access to the index directory and the Seeker web service, such as:

Getting Help

If you need additional help beyond this user guide, you can use any of the following resources: