Google Search Appliance Creating the Search Experience Google Search Appliance software version 7.
Google, Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 www.google.com September 2012 © Copyright 2012 Google, Inc. All rights reserved. Google and the Google logo are trademarks, registered trademarks, or service marks of Google, Inc. All other trademarks are the property of their respective owners. Use of any Google solution is governed by the license agreement included in your original contract.
Contents Chapter 1 Introduction ..............................................................................................................
Chapter 2 Best Practices ............................................................................................................
Providing User Results Adding a User Results Configuration Moderating User Results Enabling Authentication for User Results How Users Can Add Results Providing Query Suggestions Exporting Query Suggestions Exporting and Importing the Suggestions Blacklist Providing Document Previews Tuning Search Results Optimizing the Speed of Results Analyzing Searches that Do Not Return Results Managing the Search Index Keeping the Search Index Clean Segmenting Data in the Search Index Evaluating Search Performance Addin
Chapter 4 Advanced Customization Topics ................................................................................
Chapter 1 Introduction Chapter 1 The Google Search Appliance has features that enable system administrators to enhance the search experience for end users. This chapter introduces fundamental concepts of the search experience. About this Document Creating the Search Experience describes how system administrators can use Google Search Appliance features to create the search experience for end users. Understanding the Search Experience is the first chapter of Creating the Search Experience.
What Is the Search Experience? Whenever an end user tries to find information using a search box on a Web page, the end user has a search experience. The end user may be researching a topic, trying to locate a specific document, or just trying to find an answer to a question. An end user's search experience has three basic steps: 1. Formulating and entering a search query on a Web page 2. Getting search results back from the search engine 3.
What Is Personalization? Several Google Search Appliance features enable you, as a Google Search Appliance administrator, to personalize the search experience. With personalization, users get results that are appropriate to their interests, roles, departments, locations, languages, or other characteristics. For more information, refer to Personalizing the Search Experience.
In this phase, you can use the default search and results pages, which are both hosted by the search appliance. By default, the search page presents the Google identity and enables end users to search public content, secure content, or both. It also includes links for Advanced Search and Search Tips. The following figure illustrates the default search page. Using this search page, an end user can begin a search by entering search terms in the search box and clicking Google Search.
Customizing the Basic Search Experience In phase two, suppose you want to customize one search experience for all your end users. You want to replace the Google visual identity with that of your company, and make a few other minimal changes. As in phase one, the search page is hosted by the search appliance.
Headphones and headsets Suitable for all users, these headphones are for any type of listening and feature natural sound... Headphones - stereo For DJs, these headphones feature powerful bass and frequency... Headsets-Microphone Hands-free headband microphone with a portable amplifier... To navigate to a document, an end user clicks a result title. Suppose that in addition to general end users, the search appliance also serves engineers who are employees of your company.
Supporting Multiple Languages This example illustrates how you can deploy search experiences in two different languages. Suppose your company serves consumers in both the United States and Canada. You might create two search experiences: one for English-speaking users and one for French- speaking users. On the search page, you can give end users the choice of viewing pages in English or French. This approach enables the search appliance to serve results in the language of users.
• The arrangement of the search results A default front end is built into the search appliance. You can use the default front end to deploy a single search experience for end users. The examples in “Starting with a Basic Search Experience” on page 9 illustrate this approach. Another approach that uses a single front end is to deploy a single, customized search experience for end users. The examples in “Customizing the Basic Search Experience” on page 11 illustrate this approach.
Collections are independent of front ends. However, you can use a custom front end with a specific collection to help improve searches and enhance results. Continuing the previous example, in addition to an HR collection, suppose you have also configured an HR front end and associated it with the HR collection. When end users search using the HR front end, the search is restricted to the HR collection. Another example is to configure a front end for customers and associate it with a customer collection.
• Run the search again • Get relevant results The choice of clicking a spelling suggestion is completely up to the end user. The spell checker supports Dutch, US English, Brazilian Portuguese, French, Italian, German, and Spanish. (You can change the supported languages by installing and activating a different language bundle, see “Changing Languages for Query Expansion and Spelling Suggestions” on page 64.
For more information about related queries, refer to “Using Related Queries to Suggest Alternative Searches” on page 43. Guiding End Users to Specific URLs You can also customize search feedback by guiding end users to specific URLs using KeyMatches. KeyMatches are preferential search results, or recommended links, that appear at the top of the search results. Like related queries, KeyMatches are results that are based on the end user's original search terms.
For example, suppose an end user who looking for information about the history of the vikings. He searches for this information using the term “vikings.” A dynamic result cluster appears with the results, as shown in the following example.
Google dictionaries of synonyms for English, French, Italian, German, Spanish, and Portuguese are built into the search appliance. Whenever an end user enters a search query that matches a synonym in one of these languages, the term is expanded. For information about how the search appliance expands queries in supported languages, see “Which Languages can use Query Expansion?” in Search Appliance Internationalization. However, you can create and upload custom synonym lists to improve search quality.
Feature Described in Integrating personal content and indexing public content “Including Content from Google Apps with Search Results” on page 21 Filters “Refining Search Results” on page 22 Remove URLs “Removing Specific URLs from Results” on page 22 Results biasing “Influencing Results Ranking” on page 23 Alerts “Enabling Alerts” on page 23 Integrating Real-Time Data In some instances, the most relevant result for a search query is real-time, structured data.
To integrate structured data in search results, use the Serving > OneBox Modules page. For complete information about the OneBox Modules page, click Help Center > Serving > OneBox Modules in the Admin Console. To select a OneBox module to use with a front end use Serving > Front Ends > OneBox Modules page.
Refining Search Results Enterprise content often contains information that is not appropriate for serving to all end users. For example, enterprise content may contain sensitive documents that are appropriate for members of an organization to view, but not for consumers to view. To ensure that the search appliance serves appropriate results to end users, you can create filters that prevent the sensitive data from appearing in search results for a particular front end.
Influencing Results Ranking On the search appliance, 100 algorithms are used to determine the sort order of the results that are returned. However, you may want to have some influence over how the search appliance ranks results. The search appliance supports three ways to influence results ranking: • Source biasing—Lets you influence the way that the search appliance ranks search results based on the URLs in the result.
Changing the User Interface As shown in “Focusing on End Users” on page 9, the Google Search Appliance user interface consists of a search page and results page. A user interface is associated with a specific front end. The search and results page examples in “Starting with a Basic Search Experience” on page 9 illustrate the user interface for the default front end.
• KeyMatches • Results listings You can edit the XSLT stylesheet using the search appliance XSLT Stylesheet Editor on the Serving > Front Ends > Output Format page, or another editor outside the search appliance. If you develop an XSLT stylesheet outside the search appliance, you can upload it to the search appliance using the Serving > Front Ends > Output Format page. The following figure illustrates some of the user interface elements that you can customize.
This section provides overview tables of the different pages that you can use to create the search experience. This section also includes an overview of the search appliance's built-in elements. Elements Defined in the Front End The following table provides an overview of search experience elements defined using Admin Console front end pages.
Elements Defined on Other Admin Console Pages The following table provides an overview of search experience elements defined on Admin Console pages other than front end pages. While these elements are defined externally to the front end, each one must be enabled using a front end page (as listed in the previous section).
Search Experience Background The Google Search Appliance response to a search query may appear to be instantaneous to an end user. However, in the background, each search query follows a six-step search process. The following diagram provides an overview of the search process. The numbers in the diagram refer to the following steps in the process: 1. The end user enters a search query using a search page. 2. The Web browser converts the search query into a URL. 3.
• Attributes that specify input elements, such as a search box and search button • The search query, which is made up of several pairs of search appliance query parameters and values. For information about search appliance query parameters and values, refer to the Search Protocol Reference. Executing the Search The Google Search Appliance receives the URL and uses the values in it to process the request and retrieve the results.
For information about returning XML results to end users, refer to the Search Protocol Reference. Applying an XSLT Stylesheet to the XML Results and Create HTML Output Before the Google Search Appliance displays the results set to the user, the search appliance applies the XSLT stylesheet to the XML results. The XSLT stylesheet contains instructions on how to format the results and results page in HTML.
Chapter 2 Best Practices Chapter 2 The Google Search Appliance has features that enable system administrators to enhance the search experience for end users. This chapter describes how system administrators can follow best practices to improve end-users searches. Search Experience Best Practices A Google Search Appliance can begin serving relevant results as soon as it has an index. By serving relevant results, the search appliance ensures a positive search experience for your users.
Best Practice Feature or Resource to Use Reference Return search results from Google Apps Cloud Connect > Google Apps Integrating with Google Apps Enable searching for experts in your organization Expert search “Providing Expert Search for Users” on page 51 Restrict search results by domain name, language, file type, or meta tag Filters “Using Filters to Restrict Search Results” on page 54 Take advantage of search appliance expertise Google Enterprise and Google Groups “Exchanging Information
Best Practice Feature or Resource to Use Reference Enable users to add search results for certain keywords in a specific front end User results “Providing User Results” on page 75 Allow users to give you feedback User interface “Adding a Feedback Mechanism for Users” on page 85 Optimize the response time of results Various features “Optimizing the Speed of Results” on page 80 Remove obsolete or non-essential content from the search index Whitelist URLs or Blacklist URLs “Keeping the Search Ind
In this document, descriptions of features that you can use to personalize the search experience are marked with the following personalization icon. The Relationship Between the Search Experience and Front Ends Several of the Google Search Appliance features described in this document are implemented in specific front ends. A front end is a framework that manages the search experience for specific types of end users.
Gathering Information about the Search Experience Before you can effectively personalize the search experience, you need to have knowledge about your end users, such as their roles, functional groups, locations, what they are searching for, and whether they are finding it or not. The Google Search Appliance enables you to gather information about user clicks. From this information, you can gain knowledge about end users and their interactions with search results.
Values in Advanced Search Reports An entry is composed of comma-separated values. The following table describes each value in an advanced search report. Value Description Example Click time Time of the click in 100ths of a second since midnight on January 1, 1970. 125001323979 IP address IP address of the user who clicked. 172.18.75.121 Session ID Holding place for session ID, always blank. Click type Type of action, which can be a user click or other action.
Click Type Description desk.local Local link at the top of the search page desk.news News link at the top of the search page desk.web Web link at the top of the search page help Search Tips link on the search page keymatch Keymatch on results page load Load results page logo Hyperlinked logo nav.next Navigation, next page nav.page Navigation, specific page nav.
Interpreting Detailed Data About User Clicks The examples in this section show you how to interpret detailed data about user clicks in an advanced search report. The examples omit some values from the each entry in the advanced search report, as indicated by the ellipses (...). The following example shows a user searching on the term enterprise and finding a result on page 2 of the listings: 1. On a search page, the user enters the search term enterprise and clicks the search button.
Getting Baseline Measurements Before you begin personalizing the search experience, identify the initial state of the search experience by taking baseline measurements. You can get baseline measurements by: 1. Generating an advanced search report (see “Generating an Advanced Search Report” on page 40) 2. Calculating the percentage of satisfied queries (see “Calculating the Percentage of Satisfied Queries” on page 39) 3.
Personalizing the Search Experience Using Front Ends Using your analyses of user clicks, you can identify ways to personalize the search experience using front ends. For an overview of ways to personalize the search experience, refer to “Checklist of Best Practices” on page 31. Throughout this and other chapters of Creating the Search Experience, descriptions of features that you can use to personalize the search experience are marked with a personalization icon.
Using the Automatic Self-Learning Scorer If you enable advanced search reporting, the search appliance uses its automatic-self learning scorer. This feature automatically analyzes user behavior and the specific links that users click on for specific queries to fine tune relevance and scoring. The search appliance uses advanced statistical regression to determine the statistical significance of user behavior, and adjusts for trust bias (that is, users clicking on the first result solely because it's first).
You can submit any number of URLs per word, phrase, or exact match. By default, however, only a maximum of three KeyMatches are returned for a search. You can increase the maximum number of KeyMatches returned up to 50 by using the numgm query parameter, which is described in the Search Protocol Reference. Working with KeyMatches To work with KeyMatches, use the KeyMatch tab on the Serving > Front Ends > Output Format page in the Admin Console.
• Reword the label from KeyMatch to Recommended Links • Change the KeyMatch text color from blue (#2255aa) to violet (#6600cc) • Change the KeyMatch background color from pale violet (#e8e8ff) to aqua (#ccffff) The following figure illustrates these changes. To make changes to the appearance of KeyMatches, edit the Result Page Component section of the XSLT stylesheet. For information about editing the XSLT stylesheet, refer to “Customizing the User Interface in the XSLT Stylesheet” on page 100.
Working with Related Queries To work with related queries, use the Related Queries tab on the Serving > Front Ends > Output Format page in the Admin Console.
Using Dynamic Result Clusters to Narrow Searches Sometimes, users search with terms that return an overly broad set of results. You can help end users narrow searches by enabling dynamic result clusters. Dynamic result clusters show different topics for a specific search term. These topics enable users to focus on areas of interest while ignoring irrelevant information. For example, suppose your website offers memberships to users.
Using the Page Layout Helper To enable or disable dynamic result clusters using the Page Layout Helper: 1. Choose Serving > Front Ends. The Front Ends page appears. 2. Select a front end from the Current Front Ends list and click Edit. The Output Format page appears. 3. In the Page Layout Helper box, select the Search Results section. The section expands. 4. To enable dynamic result clusters, click Dynamic result clusters. A checkmark appears.
Using Dynamic Navigation to Help Users Explore Results In many cases, content already has considerable metadata associated with it. As a search appliance administrator, you can use metadata to help users refine their search results by using Dynamic Navigation. When a user clicks on an attribute value, the search results are filtered to contain results from the original search query that also have that specific attribute value.
There is no limit to the number of attributes that you can configure in dynamic navigation. However, adding more attributes might affect search latency. The maximum number of results returned per attribute is 5000. Also, for any configuration, you can enable dynamic navigation for secure search. With secure search, dynamic navigation only includes documents that the user is authorized to see. For more information, see “Dynamic Navigation for Secure Search” on page 48.
Enabling Dynamic Navigation Dynamic navigation is disabled by default. To enable dynamic navigation: 1. Choose Serving > Dynamic Navigation. 2. Click Enable. To disable dynamic navigation, click Disable. Creating a Configuration and Adding Attributes By using the Serving > Dynamic Navigation page, you can configure different attributes in different configurations and apply the configurations to different front ends.
After this step, the search appliance starts computing the dynamic navigation results for the selected front ends but does not yet show the results on the search pages. However, you can see the dynamic navigation results in the search XML output. To display the dynamic navigation results on the search page, follow the procedure in “Showing Dynamic Navigation in a Front End” on page 50.
Providing Expert Search for Users You can enhance the search experience for your users with expert search, which enables them to find experts in your organization. When a user searches on a keyword, such as “security,” a list of security experts appears in a sidebar next to search results. This list includes photos, names, job titles, email addresses, locations, and phone numbers. There might also be a more detailed list of experts on a separate page that is linked to the search results page.
Using People Search Deprecated In the current search appliance release, people search is deprecated. With people search, when a user searches on a keyword, the search appliance searches any source collection that you specify and displays people search profiles that match the search term in a sidebar next to ranked search results. For example, suppose a user searches for “Lee.” People search results appear in the sidebar on the search results page, as shown in the following figure.
Before configuring people search, create a people search source collection. A people search source collection is a segment of the search index that contains profile information. The source collection must contain one document for each person. You can create a people search source collection by using the Crawl and Index > Collections page in the Admin Console. For information about creating a collection, click Help Center > Crawl and Index > Collections.
3. Under Sidebar Elements, click People Search results. 4. Click Save Page Layout Code. Experimenting with Host Crowding Options You might notice that search results are sometimes indented, as shown in the following example. The indenting indicates “host crowding,” or presenting only the most relevant search results by eliminating duplicates.
Filter Description Refer to Language This type of filter restricts searches to either all languages or a selected set of languages. “Restricting Search Results by Language” on page 55 File type This type of filter restrict searches to one or more content types or file types, such as HTML, PDF, and so on. “Restricting Search Results by File Type” on page 56 Meta tag This type of filter restricts searches by values and value types in meta tags.
Suppose you have created a front end for users in Switzerland. You want to restrict search results for this front end to the country's three official languages, German, French, and Italian. You might create a language filter for the Switzerland front end with these languages selected. When end users in Switzerland perform a search, only results in the selected languages appear.
The following table lists front end meta tag value types and the input parameters that the search appliance appends to the search request for each value type. Front End Value Type Input Parameter Exact requiredfields=name:value Partial partialfields=name:value Existence requiredfields=name Selecting a Query Expansion Policy for Meta Tags Use a query expansion policy for meta tags to select the parts of the name/value pair in a meta tag that the search appliance expands with synonyms.
You can add URL patterns at any time, and they will be immediately removed from the served results. You can also delete the URL patterns at any time to return those patterns to the served results immediately. For complete information about using the Remove URLs tab, click Help Center > Serving > Front Ends > Remove URLs in the Admin Console. The remove URLs feature affects results only. It does not remove URLs from the index.
Using Preconfigured Local Query Expansion Files By default, query expansion terms are available in seven supported languages: Dutch, English, French, German, Italian, Portuguese, and Spanish. The Google Search Appliance's default language bundle contains these languages. You can change the supported languages by installing and activating a different language bundle (see “Changing Languages for Query Expansion and Spelling Suggestions” on page 64).
2. 3. 4. If the file will contain accented characters and you have not already checked your editor's ability to save a file with UTF-8 encoding, do so now. As an example, if you are using Notepad, do this: • From the File menu, choose Save As. • Check that the Save options include Encoding, as well as Name and File Type. • Pull down the Encoding menu and choose UTF-8.
Examples of valid entries: {run, runs, running, ran} {widgets, parts, items} Example of an invalid entry: {safe} For information about uploading a synonyms file, click Help Center > Serving > Query Settings in the Admin Console. Using Blacklists You can control query expansion by creating a blacklist. A blacklist is a set of words that are excluded from query expansion.
Using Stopwords A stopword is a search term that is ignored by the search appliance. Examples of stopwords include “to,” “a,” and “the.” However, if a stopword is the only keyword in a query, it is not ignored. For example, if "salary" is a stopword is and a user submits a query where "salary" is the only keyword, the query will execute and display results. But if a user searches for "my salary," "salary" is ignored.
• Creating a language filter in a front end by using the Filters tab of the Serving > Front Ends page • Adding the lr=lang_ (language restrict) query parameter to the search request For information about creating a language filter in a front end, see “Restricting Search Results by Language” on page 55. For information about language restrict query parameter, see the Search Protocol Reference.
When the user clicks a translation link, the search appliance sends the content, client-id, and user language to Google Translate using a secure connection. For more information about the Website Translator plugin, visit the Google Translate Help Center. Google recommends that Internet Explorer customers use translate from the HTTPS search results page. You can enable or disable translation for any front end. To enable translation, use the Serving > Front Ends > Output Format page in the Admin Console.
Language Bundle Languages All languages • Arabic • Danish • German • Greek • English • Spanish • Finnish • French • Hungarian • Italian • Hebrew • Japanese • Korean • Dutch • Norwegian (includes both Bokmål and Nynorsk) • Polish • Portuguese • Romanian • Russian • Swedish • Thai • Turkish • English • German • Dutch • Swedish • Norwegian (includes both Bokmål and Nynorsk) • Danish • Finnish Scandinavia Google Search Appliance: Creating the Search
Language Bundle Languages Middle East • Arabic • Greek • English • French • Hebrew • Turkish • German • English • French • Hungarian • Hebrew • Polish • Romanian • Russian • English • German • French • Italian • Spanish • Dutch • Finnish • Polish • English • German • Dutch • Swedish • Norwegian (includes both Bokmål and Nynorsk) • Danish • Finnish • Russian • Polish • Spanish Eastern Europe egfisdfp Northern Europe + Eastern Europe + Extra
You can enable search appliance support for a language bundle by performing the following tasks: 1. Downloading and installing the language bundle 2. Activating the language bundle You can install multiple language bundles on a search appliance, but only one language bundle can be active at any time. By default, the built-in language bundle is active. The currently active language bundle provides spelling support for the languages in the bundle, as well as query expansion.
To enable/disable click-jacking defense: 1. Click Serving > Query Settings. 2. Under Click-Jacking Defense Settings, click the Enable Click-Jacking Defense checkbox. 3. Click Apply Click-Jacking Defense Settings. Using OneBox Modules to Integrate Structured Results In some instances, the most relevant result for a search query is real-time, structured data. This type of data does not usually reside in the search index because it would be obsolete before it could be indexed.
Using Result Biasing to Influence Result Ranking The Google Search Appliance ranks the documents that it finds in response to a user search query. For each document, the search appliance calculates a score that: • Reflects the probable relevance of the document content • Determines the order in which results appear on the search results page You can use result biasing to increase or decrease the scores of specified sources, or types of sources, in the search index.
Using Source Biasing Using source biasing, you can boost or weaken the relevancy score of a document that belongs to a specified collection, matches certain URL patterns, or is fed from a data source. Boosting a score usually moves a result up in the rankings. Weakening a score usually moves it down. The search appliance offers two controls over source biasing, as described in the following table.
In the front end for staff, you do not create a result biasing policy. This front end preserves normal ranking. You can also specify how quickly documents' scores are decreased as they age, by selecting an age at which you would consider a document to be moderately old. This setting indicates that a document of the specified age should get a moderate decrease in score from date biasing. More recent documents get smaller date biasing effects, and documents older than that age get larger decreases in score.
Control Description Strength Specifies how much influence metadata and entity biasing has in calculating scores for documents that match specific META tag NAME-CONTENT value pairs. The default strength is Leave unchanged. You can change this to Strong, Medium, or Weak increase or Strong, Medium, or Weak decrease for each specified URL pattern. For example, suppose that you have created a front end for your organization's human resources department.
For example, suppose a user is interested in changes to personnel policies. He might create an alert for this topic. The search appliance will run searches on all the publicly shared documents and send an email to the user whenever it finds new or changed publicly-shared documents about changes to personnel policies (secure results are not returned). The email contains a batch of result listings. Clicking any result listing in an alert email displays the relevant document.
If you want to use a customized XSLT stylesheet from an earlier release, refer to the update instructions for the current search appliance software release. Using the Page Layout Helper To show the My Alerts link using the Page Layout Helper: 1. Choose Serving > Front Ends. The Front Ends page appears. 2. Select a front end from the Current Front Ends list and click Edit. The Output Format page appears. 3. In the Page Layout Helper box, select the Global Attributes section. The section expands. 4.
Providing User Results You can give users the capability of enhancing the search experience collaboratively by adding search results for certain keyword searches. User results appear for the specified keyword searches on the search results page of a specific front end. For example, suppose a user wants a document about your organization's new vacation policies to appear on the results page when anyone searches using the keyword “vacation.” To accomplish this, the user can create a result for the document.
Enabling Authentication for User Results When you enable authentication for user results, a user must be properly authenticated with a verified identity before the user can add, edit, or remove user results. If authentication for user results is enabled, and the user is not logged in with a proper verified identity, the user cannot add, edit, or delete user results.
For example, suppose a user starts typing “Google Search Appliance” in the search box. Query suggestions causes the term to auto-complete before the user finishes typing it. Alternative terms that narrow the search also appear in a menu below the search box. For example, for this search, terms that appear might include “Google Search Appliance training,” “Google Search Appliance documentation,” “Google Search Appliance Forum,” and other similar terms.
To export query suggestions: 1. Click Serving > Suggestions. 1. Select a collection from the menu or accept All Collections. 2. Select a front end from the menu or accept All Front Ends. 3. Select a file format from the menu. 4. Click Export Suggestions. 5. Open or save the file. Exporting and Importing the Suggestions Blacklist The search appliance also has a suggestions blacklist, which contains words that are excluded from query suggestions.
Providing Document Previews Document previews enable users to view a thumbnail image of a document in the search results. To view a document preview, the user hovers the pointer over a magnifying glass icon next to the search result. The preview appears, as shown in the following figure.
Optimizing the Speed of Results Studies show that you can lose more users due to poor response time than to poor relevancy. If you find that performance is less than optimal, perform the tasks described in the following table. Task Comments Make sure you have the right search appliance model for handling your query load. If your search appliance model is not appropriate for your query volume, you might consider upgrading to a higher-capacity model.
To identify search terms that do not return results, generate a search report, as described in “Generating a Report of Unsuccessful Search Queries” on page 81. The report on searches that do not return results contains lists of top keywords and top queries that do not return results. The following example shows Top Keywords and Top Queries in a search report.
• Time frame for the report (optional) For example, you might create a report of unsuccessful search queries called Operations Zero Results Report on the default_collection for the previous week. To create a report of unsuccessful search queries: 1. Choose Status and Reports > Search Reports. 2. From the Show Search Reports for Collection drop-down menu, select the collection whose search queries you want to include. 3. Under Define Search Report, type a name for the report.
To keep the search index clean, you can use both methods together or simply use a whitelist. Generally, using only a whitelist is more effective than using only a blacklist. The following sections describe the advantages and disadvantages of both approaches. For information about setting up URLs for crawling your content, refer to Preparing Data for a Crawl in Administering Crawl.
For more information about this topic, refer to Adding a Menu to Search by Collection in Customizing the User Interface. The maximum number of collections for a search appliance is 200. Having more than this number of collections can cause serving to fail. The solution for this problem is to reset the index. The search appliance allows you to create an unlimited number of collections for a search index. To create a collection, use the Crawl and Index > Collections page in the Admin Console.
To search for terms that appear in either the “sales” or “marketing” collection, use the boolean OR [|] operator on the site parameter. The following example shows a GET request that specifies both collections. http://search.corp.mycompany.com/search?q=query+string &site=sales|marketing &client=default_frontend &output=xml_no_dtd &proxystylesheet=default_frontend To search for terms that appear in both the “engineering” and “support” collections, use the boolean AND [.] operator on the site parameter.
Conducting a User Satisfaction Survey A survey can be an effective way of soliciting feedback from users about the search experience. A survey also enables you to establish a baseline of search quality metrics before beginning to implement best practices. Some tips for creating a user satisfaction survey are: • Keep it brief. • Don't make the respondents fill out long essay questions. • Keep questions as quantitative as possible so results are easily aggregated and compared to later survey results.
6. 7. 8. Is the query result description (snippet) useful? • Definitely • Somewhat • No How satisfied are you with your overall search experience? • Very satisfied • Somewhat satisfied • Not satisfied What would you like to see added? Finally, an effective way to evaluate the quality of search results is by using side-by-side evaluations.
Chapter 3 Customizing the User Interface Chapter 3 The Google Search Appliance has features that enable system administrators to enhance the search experience for end users. This chapter describes how system administrators can modify web pages in the Google Search Appliance user interface. What Is the Google Search Appliance User Interface? For an end user, the user interface is the means by which she interacts with the Google Search Appliance.
For employees, you a want user interface that: • Offers multiple search options, such as searching secure content and searching within results • Displays complex result listings that contain a title, a snippet, a date, a link URL, and a cached link For both customers and employees, you want to offer user interfaces in four languages: English, Spanish, Brazilian Portuguese, and French. To accomplish all your design goals, you plan to create eight user interfaces.
If you customize a user interface, you should create another front end for customization rather than customizing the default front end. For more information about front ends, refer to “Managing the Search Experience” on page 13. You can use a customized front end with a specific collection to help improve searches and enhance results, as described in “Using Collections with Front Ends” on page 14. Creating a Front End You create a front end using the Serving > Front Ends page in the Admin Console.
• Using the XSLT Stylesheet Editor in the search appliance or an editor of your choice The Page Layout Helper enables you to change only some of the elements in the XSLT stylesheet. The XSLT Stylesheet Editor enables you to make more extensive changes to the XSLT stylesheet. If the elements that you want to change are not available in the Page Layout Helper, you must use the XSLT Stylesheet Editor to change them. The search appliance supports XSLT 2.0 and XPath 2.0.
With a few simple changes, you can make a user interface that is specific to your organization by replacing Google elements with your own. The following figure illustrates a search results page that has been customized using the Page Layout Helper. For descriptions of the customizations in this figure, refer to the key numbers in the following table. Key Customization 1 Replaced the Google logo with the organization's logo. 2 Added the header used on the organization's web site.
Opening the Page Layout Helper The Page Layout Helper appears on the Serving > Front Ends > Output Format page in the Admin Console. Before you can use the Page Layout Helper, you must create a front end. For information, refer to “Creating a Front End” on page 90. To open the Page Layout Helper: 1. Choose Serving > Front Ends. The Front Ends page appears. 2. Select a front end from the Current Front Ends list and click Edit. The Output Format page appears. 3.
3. Enter the location and name of your company logo. You may have to type the complete URL. 4. Enter the width and height in pixels of your logo image. 5. Click Save Page Layout Code. Changing the Font Face The global font face is used for all text on all user interface pages. By default, the global font face is Arial, sans-serif, as shown in the search result page figure (see “Getting Started with Customizing the User Interface” on page 91).
The following figure shows a search box that has been customized using the Page Layout Helper. For descriptions of the customizations illustrated in this figure, refer to the key numbers in the following table. Key Customization 1 Changed the length of the search box 2 Changed the search button text 3 Added a menu for searching by collection Changing the Search Box and Button By default, the search box length accommodates 32 characters, but it scrolls to allow longer queries.
2. Click the right arrow next to Search Box to display the contents. 3. To display a menu of your collections so that your users can select which one to search, click the Collections checkbox. 4. Click Save Page Layout Code. To add more collections: 1. Open the Page Layout Helper (see “Opening the Page Layout Helper” on page 93). 2. Click the right arrow next to Search Box to display the contents. 3. Deselect the Collections checkbox. 4. Click Save Page Layout Code. 5.
• Sidebar elements (see “Changing Sidebar Elements” on page 99) • Elements in result listings (see “Changing Result Listing Elements” on page 99) • Page bottom elements (see “Changing Page Bottom Elements” on page 100) Changing Page Top Elements Elements that can appear at the top of a search results page include: • Logo • Advanced search link • Search tips link • Search box By default, all these elements appear at the top of a search results page, as shown in the search result page figure (se
Changing Page Top Navigation Links A search results page can include the following navigation links at the top of results listings: • Previous/Next link • Sort by Date/Sort by Relevance link By default, the search results page includes both of these navigation links, as shown in the search result page figure (see “Getting Started with Customizing the User Interface” on page 91). Using the Page Layout Helper, you can choose whether to show or hide one or both of these navigation links.
2. Click the right arrow next to Search Results to display the contents. 3. Click the check box to Show Dynamic Navigation. 4. When finished, click Save Page Layout Code. Changing Sidebar Elements Sidebar elements include search results from Google Apps or Google Site Search. By default, the search results page does not display sidebar elements. Using the Page Layout Helper, you can choose whether to hide or show sidebar elements.
3. Click check boxes to show or hide the result Snippet, URL, Page size, Modified date, or Cache link. 4. When finished, click Save Page Layout Code. Changing Page Bottom Elements Elements that appear at the bottom of a search results page include: • Previous/Next page navigation links • Search box By default, the search results page includes Google-style navigation links and a search box. Using the Page Layout Helper, you can choose a different style of navigation link or hide the search box.
All the customizations in this figure were made using the XSLT Stylesheet Editor. For descriptions of the customizations in this figure, refer to the key numbers in the following table. Key Customization 1 Replaced the Google logo with the organization's logo. 2 Added the header used on the organization's web site. 3 Changed search button text from Google Search to Find Results. 4 Changed the advanced search anchor text from Advanced Search to More Search Options.
Opening the XSLT Stylesheet Editor The XSLT Stylesheet Editor appears on the Serving > Front Ends > Output Format page in the Admin Console. Before you can use the XSLT Stylesheet Editor, you must create a front end. If you started customizing a user interface using the Page Layout Helper, you already have a front end. For information, refer to “Creating a Front End” on page 90. To open the XSLT Stylesheet Editor: 1. Choose Serving > Front Ends. The Front Ends page appears. 2.
The default name for the stylesheet is frontendname_frontend_stylesheet.en.xslt. You can give the exported stylesheet any name you choose. Importing an XSLT Stylesheet If you develop an XSLT stylesheet outside the search appliance, or have a back-up version of the XSLT stylesheet, you can import it to the Google Search Appliance. To import an XSLT stylesheet: 1. Open the XSLT Stylesheet Editor (see “Opening the XSLT Stylesheet Editor” on page 102). 2.
Comments precede each section, so that you know whether a section can be customized. The following example presents the Global style variables section of the stylesheet.
User Interface Element Customization Search boxes Display a search box at the top or the bottom of the search results page. Specify the size of the search box. Search buttons Specify search button type (text or image). Search info bars Display search information bars. Separation bar Specify type of separation bar and label. Navigation bars Specify top and bottom navigation bars and attributes. Sort by Display Sort by link.
Changing Other Variables The Other variables section of the XSLT stylesheet contains variables that control page titles, aspects of the Advanced Search Page, the Cached page header, error message text, and dynamic result clusters. The following table lists all elements of results listings that you can change and the types of changes you can make to each one.
User Interface Element Customization Stylesheet Section Home search page header Enter XML-compatible HTML code in this section to affect the home search results page header. Home search page header Separation bars Change the color and background color of separation bars used in advanced search headers and search results pages. Separation bars divide the page header from the results. Separation bar variables Advanced search page header Put whatever you like in the page's header.
Here is the recommended sequence for customizing a user interface: 1. Create a new front end. 2. Use the Page Layout Helper to make changes to the user interface. 3. Click Preview to view each change you make. A new browser window opens with each preview, so close the window each time you return to the Page Layout Helper. The Preview button lets you look at each change you make before you move on. It does not save your changes. 4. Continue making changes in the Page Layout Helper and previewing them.
Managing Customized XSLT Stylesheets If you customize XSLT stylesheets, make sure that you keep a backup copies offline. To back up an XSLT, export it as described in “Exporting an XSLT Stylesheet” on page 102. You can also export the entire configuration for a search appliance using the Administration > Import/Export page in the Admin Console. To help manage ongoing customizations to XSLT stylesheets, you can use a source control system.
• “Make Search Ubiquitous” on page 110 • “Make Sure the Search Box Is Big Enough” on page 110 • “Make Sure the User Knows what Documents Have Been Searched” on page 110 • “Make Help Easily Available” on page 111 • “Make Search Results Pages Useful” on page 111 • “Keep the Number of Results Reasonable” on page 111 Keep Search Pages Clean, Simple, and Fast Searching should be fast, and faster search encourages users to search more often. Keep the main search page simple.
Make Help Easily Available A link to a help page should be accessible near the search box. Make Search Results Pages Useful Search results pages should have all the information that a user needs to determine whether a given search result meets her information needs.
Chapter 4 Advanced Customization Topics Chapter 4 About This Document This section describes the audience for this document, the organization of the material, and some additional sources of information. Audience This document is for search administrators and webmasters who want to customize the search interface. To perform most customization tasks, you need privileges to edit search appliance front ends and eXtensible Stylesheet Language Transformation (XSLT) stylesheets.
Customization Description Example Page “Replacing the Secure Search Radio Button with a Check Box” on page 118 Save screen space by using a checkbox for the secure search option in place of default radio buttons. “Inline Frame Example page” on page 114 “Specifying Query Parameters with XSLT” on page 121 Make the search page submit selected query parameters with each search request.
Inline Frame Example page The inline frame example page shown below illustrates Google search presented in an inline frame with a custom secure search checkbox. The code for the search button in this example page has been customized to submit selected search parameters that limit the number of results displayed in the limited screen space of the inline frame. To view the source code for this page and its supporting XSLT stylesheet, see “Optional Example Materials” on page 129.
Integrating Search into Web Pages If your goal is to integrate search into existing web pages that have a particular style and identity, you can modify or minimize the visual effect of the default search and results pages. This section describes three levels of integration: • A basic approach that presents search pages in an inline frame. • An HTML form search box that replaces the default search page. • A combination of an HTML form search box and results pages in an inline frame within the page.
3. For the src attribute of the inline frame tag, specify http://appliance_hostname, where the host name is the correct value for your search appliance. This value points to the default front end. If you want to open a different front end, or customize any other query parameters for the search interface, add them to the URL as shown in the example code. 4. Optionally, set the frame width and height attributes to make sure the inline frame is large enough to accommodate the search results page.
• Capture the query terms in a text input field named q • Specify the required query parameters site, client, and output as hidden input fields • Unless you intend to retrieve raw XML results, specify proxystylesheet In addition to the required fields, you can include any valid query parameter as a hidden input field in the HTML form. See the Search Protocol Reference for more information on query parameters. Search boxes should be big enough to accommodate multiple word entries.
This approach is used in the “HTML Form Example Page” on page 113.
XSLT Code for the Secure Search Checkbox This customized search box is defined by XSLT rules in the stylesheet associated with iframe-examplefrontend. In this stylesheet, the default code for the search box input form is overwritten with the following block of custom code.
3. Scroll down within the search box input form section to locate the XSLT conditional clause beginning with the following line: This conditional clause contains the default radio button code, shown below in boldface and bracketed by start/end comments (these comments are not found in your default stylesheet): 3.XSLT Code for Custom Text The product descriptions in the results for the example are derived from a small block of XSLT code added to the “Snippet Box” section of the stylesheet. This custom block includes and augments the default code for displaying the snippet. You must explicitly retrieve the meta tags in the result set in order for them to be transformed by the XSLT code. Do this by adding getfields=description to your search request. For more information on getfields, see the Search Protocol Reference. Adding Custom Text Code to an XSLT Stylesheet To modify a stylesheet to replace the result snippet with custom text: 1. Open the stylesheet in the Admin Console's XSLT Stylesheet Editor or your preferred editor. 2. 6. Make the following change to the code: a 7. Click Save XSLT Code. The modified XSLT stylesheet takes effect after 15 minutes. To see the result immediately, you can add &proxyreload=1 at the end of the search string and resubmit the search. Disabling Filtering for a Front End Google uses automatic duplicate snippet filtering and duplicate directory filtering in search results. 2. Locate the following comment. 3. Add the following line before the comment. The following example shows the modified code. 4. Save your changes. Reloading the XSLT Stylesheet After saving the stylesheet, you might need to add &proxyreload=1 to the search URL to reload the XSLT stylesheet. 6. Create a front end named “example-frontend” and import the stylesheet examplefrontend_stylesheet.en.xslt. See “Customizing the User Interface” on page 88 for more information on creating front ends. 7. Create a front end named “iframe-example-frontend” and import the stylesheet iframe-examplefrontend_stylesheet.en.xslt. After you have set up the example materials, run a test query on them by opening index.html and typing “nymph” or other key words from the example pages into the search box. • fox_poopal_small.jpg • prince_large.jpg • prince_small.jpg • royal_large.jpg • royal_small.jpg • sculpin_large.jpg • sculpin_small.jpg Example pages: • adams.html • ak_bugger.html • ap.html • boss.html • bugger.html • caddis.html • cj.html • dark_lord.html • flyframe.html • fox_poopah.html • prince.html • royal.html • sculpin. Appendix A Quick Reference Appendix A The Google Search Appliance has features that enable system administrators to enhance or personalize the search experience for end users. This chapter provides a quick reference to features, best practices, and Admin Console pages you can use to enhance or personalize the search experience. Search Experience Features The following table lists Google Search Appliance features you can use to enhance or personalize the search experience. Feature Admin Console Page Reference KeyMatch Serving > Front Ends > KeyMatch “Using KeyMatches to Guide Users to URLs” on page 41 Language bundles Serving > Language Bundles “Changing Languages for Query Expansion and Spelling Suggestions” on page 64 Language filters Serving > Front Ends > Filters “Restricting Search Results by Language” on page 55 Meta tag filters Serving > Front Ends > Filters “Restricting Search Results by Meta Tag” on page 56 Metadata biasing Serving > Result Biasing > Search Experience Administration Best Practices The following table lists best practices for creating the search experience. For each best practice, the table gives a reference to a section in this document that describes it, as well as the page in the Admin Console that you use to accomplish it. Best Practice Reference Admin Console Page Influence the order of documents in search results “Using Result Biasing to Influence Result Ranking” on page 69 Serving > Result Biasing Enable or disable result biasing for a front end “Working with Result Biasing” on page 69 Serving > Front Ends > Filters Identify problematic query topics for related queries, KeyMatches, and query expansion synonyms “Analyzing Searches that Do Not Return Results” on page 80 Status and Reports > Search Report Create a Admin Console Page Reference Serving > Front Ends > Output Format “Using Dynamic Result Clusters to Narrow Searches” on page 45 Serving > Front Ends > Related Queries “Using Related Queries to Suggest Alternative Searches” on page 43 Serving > Front Ends > Remove URLs “Removing URLs from Search Results” on page 57 Serving > Query Settings “Using Query Expansion to Widen Searches” on page 58 Serving > OneBox Modules “Using OneBox Modules to Integrate Structured Results” on page 68 Serving > Docum Index Symbols &client search parameter 90 &proxystylesheet search parameter 90 &site parameter 84 A Advanced Search link 10 advanced search page 88 advanced search reporting baseline measurements 39 click types 36 custom click types 37 enabling for a front end 40 exporting 40 generating reports 40 method 38 using 35–40 values 36 alerts description 23 enabling 73 My Alerts link 73 providing 23 using 72–74 all authorization mode 48 alternative search terms 16, 43 authentication alerts 73 user results 76 aut document previews description 21 using 79 domain filter 54 duplicate directories filter 19, 54, 128 duplicate snippet filter 19, 54, 128 dynamic navigation all authorization mode 48 authorization 48 configuration 49 description 18 enabling 49 fast authorization mode 48 query expansion 50 secure search 48 show or hide 98 showing 50 using 47–50 dynamic result clusters description 17 enabling 18 enabling and disabling 45 show or hide 98 using 45–46 E end users alerts 75 diverse search experiences 11 focusing languages filters 55 query expansion 59 supporting multiple 13 user interface 107 M Macintosh style end-of-line characters 63 meta tags biasing 72 dynamic navigation 47 expert search 51 filters 55, 56 query expansion 57 metadata biasing 71 dynamic navigation 47 dynamic result clusters 47 expert search 51 filters 56 query expansion 57 metadata and entity biasing description 23 using 71 multiple search experiences 11 My Alerts link 73 N narrowing searches 17, 45 O OneBox modules adding click types 37 descr search parameters 121 search query 28 search results custom snippets 125 enhancing 19–23 image link 124 indented 54 listing elements 99 optimizing speed 80 page 88 page bottom elements 100 page divider 97 sidebar elements 99 snippets 54 top elements 97 top navigation links 98 tuning 79–82 Search Results, Page Layout Helper 24, 96–100 Search Tips link 10 Search Within Results link 10 search within results page 88 searches collections 84 improving 15 multiple collections 84 narrowing 17 no results returned 80 XSLT stylesheet applying 30 customizing 100–106 description 91 exporting 102 importing 103 managing 109 migrating 109 reloading 129 restoring 103 user interface 90 variables 103–106 XSLT Stylesheet Editor 25 dynamic result clusters 46 My Alerts link 74 using 102 Google Search Appliance: Creating the Search Experience Index 141 |