Thursday, December 11, 2008

Searching the Google Timeline

Tyler Morse, Software Engineer and Dylan Casey, Product Manager

When we set out to build a timeline to commemorate Google's 10th birthday, we wanted to add an experimental search feature. We may be a little biased, but because we needed to search a specific subset of the web, and needed customized presentation, we decided to use Google Site Search, which is powered by the Custom Search platform. Using Site Search, the team designed a customized user interface and user experience, tightly embedded within the timeline application, in a few days.

The Google Timeline data is stored and served up as static files of JavaScript objects and arrays. While this was very efficient for the Timeline JavaScript application, we needed to massage the data in order to get it indexed and searchable, as well as tie it back to the timeline objects.

We generated static HTML files for all timeline events. The filenames have identifying data in them that allow us to correlate a search result with the original event; this way, we can translate a user click on a search result to the appropriate timeline event. Since we wanted explicit control of event dates, we also encoded the event date in each HTML file.

We use Site Search's flexible XML interface for retrieving the results. When we get back search results, we parse the XML data, extract specifically the information we need, and render these results.

Since we did not want to take users away from the timeline application, we presented the results inline. As we had limited real estate available, we only displayed 3 results at a time. As shown in the screenshot above, we added pagination to the results section, and the ability to sort the events by event date.

We couldn't treat our search results like typical URLs, as on Google.com. We wanted to show users the event within the actual timeline when they clicked on a search result, instead of navigating them to the indexed static HTML file. Clicking on a result provides an interactive experience, and brings up the specific timeline event.

The end result: a Google search for Google's history, custom fit to meet the specific needs of our timeline, just before we blew out the candles on our cake.

Thursday, November 13, 2008

On-Demand Indexing for a fast-moving web

Tom Duerig and Nicholas Weininger, Software Engineers

Earlier this year when we launched Google Site Search, and AdSense for Search started using the Custom Search platform, we created a special Custom Search Engine (CSE) index for enhanced indexing. Webmasters could submit Sitemaps in Webmaster Tools, and the Custom Search platform indexed URLs from these Sitemaps into a special CSE index for more comprehensive coverage.

This solved an important problem: the need for enhanced index coverage for site search. The special CSE index, in addition to the Google index, enabled us to search deeper on selected sites, providing higher search quality.

Today, with our launch of On-Demand Indexing, we're addressing the need to provide fast indexing for your important, frequently-changing content. On-Demand indexing allows anyone with a Google Custom Search Engine or Google Site Search to identify and tell us about new pages or recent site changes by submitting a Sitemap to our Webmaster Tools. You can then select this specific Sitemap in the Indexing tab of your CSE control panel and hit the new "Index Now" button. We will immediately schedule the relevant pages for crawling and indexing, and these pages will be included in your search results usually within 24 hours - often much faster.





We realize that new or frequently updated content is often crucial to a website. In order to give you more control over how you use the On-Demand Index resources allocated to you, we will honor the priority and lastmod attributes that you provide in your Sitemap - this means you can identify what URLs should be given preference. Please ensure that your Sitemap metadata is up-to-date.

On-Demand Indexing uses a special index that is designed just for Custom Search. The main Google search indexing process is separate and uses different selection criteria, so submitting pages for On-Demand Indexing will not make them appear any faster in the main Google index, or impact ranking on Google.com. For more information on On-Demand Indexing, as well as the allocation per CSE, please refer to our FAQ.

We are always listening at our Custom Search discussion group, so please continue to tell us what features you'd like to see added to Custom Search.

Thursday, October 30, 2008

Knol - now with Custom Search

Cedric Dupont, Product Manager
Knol is a project aimed at helping people share their knowledge. Knols (units of knowledge) are authoritative articles written by people about a specific subject, ranging from tooth pain to solar energy to buttermilk pancakes. With all of these knols to browse, our readers have been begging us for a more powerful search tool. Well, today we have good news - we've added the power of Custom Search to Knol.

Custom Search gives us all of the speed and relevance of Google's search technology, but required none of the hard labor that went into making Google search what it is today. With Custom Search, Knol visitors will have a fast search experience that features all of the bells and whistles Google searchers have come to love (including our advanced spell checker). When you search within Knol, the search results look a little different from Web Search results (see this search for knee surgery, for instance). We were able to maintain that distinct feel for Knol search by taking advantage of the Custom Search XML results format (via Google Site Search) and creating the search result display that we wanted.

We want to hear from you if you have feedback on Knol search. Please leave your comment on our help page.

Friday, October 3, 2008

Synonyms for your Custom Search Engine

Victor Wang and Bartlomiej Niechwiej, Software Engineers

With our launch of Google Site Search, we added a new feature to the Custom Search platform: custom synonyms. Here's how this feature can be used to improve the quality of your Custom Search Engine (CSE).

How can custom synonyms help?
Synonyms help by finding documents with relevant related terms and ranking them higher. Synonyms can help to alleviate the mismatch that often occurs between the queries that users type, and the actual words, phrases and concepts used in the documents being searched. Custom Search, of course, automatically takes advantage of synonyms used in Google Web search. In addition, Custom Search goes one step further: we allow you to explicitly define custom synonyms that are specific to your web site, community or topic of interest.

To illustrate situations where CSE custom synonyms can help, we created 2 CSEs that both search content from the Palo Alto Medical Foundation (PAMF). The first CSE does not have custom synonyms enabled, while the second CSE has a few custom synonyms enabled:

Terminology: The queries people use sometimes don't match up with the words and phrases used in the content being searched. During allergy season, for example, many people look for information on "hayfever", but the results without synonyms aren't that great since the web pages we're searching across don't necessarily use this specific term. However, if the technical phrase "allergic rhinitis" is added as a synonym for "hayfever", the results with the synonym are far better.

Acronyms: Acronyms often stand for different terms in different contexts. This is especially true within organizations, where acronyms are used frequently. In such cases, it may be possible to improve retrieval via the use of synonyms. Thus, "PAMF" refers to "Palo Alto Medical Foundation", and adding this synonym improves search results: searching for "PAMF" without synonyms gives only a few relevant results, while the CSE with the synonym returns more relevant results.

Community: Within specific target user communities, words or phrases have different usage and significance. When a patient is looking for "hearing doctor", adding the synonym "audiologist" to the CSE provides much better results while the results in the CSE without synonyms are not optimal. Conversely, if a doctor is searching for "somnambulism", she finds no results at all in the CSE without synonyms, but much better results via addition of the synonym "sleepwalking" to the CSE. Synonyms can therefore be used to improve the experience of specific classes of users of a web site.

How can I add synonyms to my Custom Search Engine?
The CSE administrator can control the set of synonyms used by uploading a synonym dictionary that is specific to the domain and website. The synonym dictionary can include alternate words or phrases for common search queries. The following steps show how to add the synonyms for the Palo Alto Medical Foundation CSE.

  1. Download the existing CSE context file through "Control panel"->Advanced->"Download context"

  2. Add custom synonyms to your search engine. The synonym dictionary is uploaded as part of the context XML file. Here are the synonyms we added for the above examples:

    <customsearchengine>
    <title>...</title>
    <description>...</description>
    <context>
    <backgroundlabels>...</backgroundlabels>

    <synonyms>
    <synonymentry word="hearing doctor">
    <synonym>audiologist</synonym>
    </synonymentry>
    <synonymentry word="hayfever">
    <synonym>allergic rhinitis</synonym>
    </synonymentry>
    <synonymentry word="somnambulism">
    <synonym>sleepwalking</synonym>
    </synonymentry>
    <synonymentry word="pamf">
    <synonym>Palo Alto Medical Foundation</synonym>
    </synonymentry>
    </synonyms>

    </context>
    </customsearchengine>

  3. Upload the context file through "Control panel"->Advanced->"Upload context"


A few notes:

  • CSE synonyms are unidirectional, not bidirectional. Thus, a context file with
    <synonymentry word="migraine"><synonym>headache</synonym></synonymentry>
    defines "headache" to be a synonym for "migraine". However, if you also want "migraine" to be considered as a synonym for "headache", you need to add a separate SynonymEntry to the XML, as follows:

    <synonymentry word="migraine"><synonym>headache</synonym></synonymentry>
    <synonymentry word="headache"><synonym>migraine</synonym></synonymentry>

  • In the current version, the synonym dictionary can only be uploaded/downloaded as a part of the context XML file. We hope to make this much easier in the future.

  • We allow up to 500 individual synonyms for a given CSE.

  • Each word can have no more than 10 synonyms. If there multiple synonyms, the query will be expanded to include all synonyms uniformly.


If you are using custom synonyms in your CSE, we hope to get feedback from you about what improvements we can make.

Wednesday, September 24, 2008

Connecting with the Adobe Community with Google Site Search

We love Google Site Search. And when working with our customers, we often discover new and interesting ways to apply our technologies to their business needs.

With Adobe's latest launch of Creative Suite 4, (which includes some of their most popular desktop applications, such as Adobe InDesign, Illustrator, Photoshop, Dreamweaver and Flash), we had the chance to work with their team to integrate Google Site Search into their product in a way that truly blurs the line between off-line and online content.

Adobe is using Google Site Search as part of Creative Suite 4's Community Help to connect suite customers to Help content on and off Adobe.com, including tutorials, technical support, online product help, videos, articles, tips and techniques, blogs, examples and other resources.

In chatting with Adobe Product Manager, Mark Nichoson, we learned that Adobe chose Google Site Search for a variety of reasons. First, we learned that user experience and consistency are essential for Adobe customers. After several studies, the Adobe Creative Suite Team concluded that their customers would use Google Site Search to access information on their products.

At the same time, the nature of Adobe Community Help is to align, share and offer the best available information online. Google Site Search allowed this to happen by aggregating more than 4000 URLs coming from the active members of their customer base (bloggers, partners, developers, webmasters and others).

This is just one of the ways Google Site Search is connecting customers and their users with the information they need -- whether they're within their applications or on their websites. We can't wait to see what unique Site Search implementations come up next!

Wednesday, September 17, 2008

Beefed-up developer guide

Kevin Gargoyle Lim, Technical Writer

We've updated the developer guide to include the more advanced Custom Search features, such as synonym expansion and integration with Subscribed Links. These features let you trick out your search engine and give your users a richer search experience. Synonym expansion lets you expand a user's search term (such as "running") to include its variants (such as "jogging" and "sprinting"), so users will not need to search for each variant. Subscribed Links enables you to directly answer your users' questions by promoting a specific result at the top of the results page. You can create your own result text and define sets of queries that would trigger subscribed link results.

The developer guide may not be edge-of-your-seat material, but it does now come with a freebie glossary and a search gadget that you can add to your iGoogle page. We're still tinkering with the documentation and bulking it up with more juicy tips, so keep coming back to check our progress.

Happy reading!

Tuesday, September 9, 2008

Delivering Custom Search to your applications

Posted by: Mark Lucovsky, Software Engineer

One of the most exciting things happening with our APIs is the clever use of Custom Search engines (CSEs), blended results, and innovative uses of UI components, resulting in rich user experiences. I'd like to highlight a few interesting applications that use the AJAX API with Custom Search, and then illustrate how Custom Search engines are accessed in the AJAX Search API. With a little effort, it is possible to get a very different search experience than the standard iframe version of CSE results to embed into your web site.

Over the last couple of weeks, users found interesting information about the U.S. elections and the party conventions at our 2008 U.S. Election page. In the center of the page, there's a page element based on the AJAX API that is designed to deliver a large amount of very specific election-related news and information in a very compact form factor. The tab labeled "Blog Posts" is simply a search on a specific CSE -- the CSE itself is simple, it covers a dozen or so well-read political blogs. This page element demonstrates the ability to deliver this in a very small form factor that's easy to place on any page. You can do a "view source" on the page and you will see what I mean. The AJAX Search API blog provides more details on how the elections page element, included below, was constructed.



Another good example is VisualDx Health. This site delivers health-related information through a very sophisticated CSE. Under the hood, it's a straightforward application that takes advantage of the underlying API. Multiple search requests are fired off in parallel to create this powerful categorized display of results. Rolling Stone takes a similar approach, but this site uses news in addition to multiple CSEs to create a segmented search experience to tailor the content to its specific audience.

Let's take a quick look at how CSEs are accessed using the AJAX Search API.

Check the responses -- it's pretty easy. If you prefer using JavaScript objects, something like this also works:
var search = new google.search.WebSearch();
search.setSiteRestriction("010222979794876194725:pqldevwuapa");
search.execute("barack obama");
You can dig deeper to view how these applications are built. Using Firebug, you can also take a look at the "Net" tab to focus on the JS request/response stream while performing searches.

The AJAX API team is working to deliver Google services through a RESTful JSON/JSON-P based system, as well as the large collection of JavaScript classes and high level page elements that developers use to build these very clever sites. The combination of the AJAX APIs and CSEs is a pretty powerful system. Learn more by reviewing our documentation and posting questions/suggestions on our developer forum.

Monday, August 18, 2008

Creative uses of Custom Search

If you've been to the 2008 Summer Games site that we created to help you stay updated on the happenings in Beijing this month, you'll notice a Custom Search box in the upper right corner that will offer you results from a set of sites that cover the games. This customized search experience is similar to what many of our users have been doing with Custom Search - defining their own slice of the web to search.


Since we launched Custom Search, developers have found interesting ways to use the platform and the API (did you see our new developer guide?). One interesting way to build a customized search experience is by using linked Custom Search Engines (CSEs). With linked CSEs, you can create a dynamically defined search engine that can be updated automatically.

A cool application to create a personalized search over your del.icio.us bookmarks is described in the tutorial Build a Custom Search Engine using your Social Bookmarks. You can export your bookmarks to define a CSE and search across all the stuff you care about.

Many social bookmarking sites make this kind of application easy to build by providing tools for exporting bookmarks or by listing all bookmarks on one webpage. Other services provide similar functionality. Here's a screenshot from a CSE builder application that does this.


You can create a CSE on the fly using the MakeCSE tool. Provide the URL of a page that has a bunch of hyperlinks and MakeCSE will extract the links, construct a CSE, and provide you the search results instantly. As the links on the page change, the CSE is automatically updated.

Here are a couple of other interesting CSEs:
  • A CSE for your blog. Try out this Blogger widget that searches your Blogger blog and blogrolls automatically.
  • A CSE that uses our XML API within Google App Engine allows you to save search results or email them to friends and manage them in personalized lists. Here's a screenshot from the UXFind application:

Want to build interesting CSEs? Here are a few ideas:
  • CSE for bookmarked URLs that have a particular tag on del.icio.us, for example, http://delicious.com/tag/photography?setcount=100.
  • CSE 'for searching pages with links'. This would be great for webpages that have a lot of links, such as the directory category pages on the Open Directory Project website.
  • CSE that searches across URLs that your friends are embedding in their Twitter messages.

Let us know in your feedback if you've built interesting tools using the Custom Search platform. We'd also like to hear if there are things we can do to make Custom Search easier to use.

Wednesday, June 11, 2008

Spanking new developer guide



We created a new developer guide from scratch and moved it to code.google.com, where many other API documents reside. This means that the bells and whistles of Google Code are available to the Custom Search developer guide. For example, you can now search for information across multiple APIs (Not that we're bragging, but Custom Search powers the search on that website).

Fine, we'll admit that the new doc is not exactly a-thrill-a-minute, but it's definitely stuffed with more examples (and pretty pictures). The new organization, navigation, and search box make it easier for you to find information. The guide also discusses background information, explains complex concepts, makes recommendations, and points you to the right direction.

We're still tinkering with the doc and adding more stuff into it. We'll keep you posted about our progress.

Happy reading!

Tuesday, June 3, 2008

Custom Search at the core of Google Site Search



Today, we announced Google Site Search, a hosted website search product that takes advantage of the Custom Search platform to offer high quality search to any website. Google Site Search integrates features that offer site visitors a search experience closer to what they're used to on Google.com. Here are a few of the new features:
  • Expanded coverage: We already search through all of your pages that are in the Google.com index. Tell us about more pages on your site by submitting a Sitemap. We'll crawl your Sitemap and add these pages to your custom search engine so that your search engine has the maximum coverage. (These additional pages will only be available to your custom search engine; your PageRank and Google.com rankings won't change in any way.)
  • Custom Synonyms: You can now define custom synonyms for your custom search engine. For example, you can define "cd" as meaning"certificate of deposit." When a visitor searches for "cd" on your search engine, we will return pages that contain either "cd" or "certificate of deposit." You can specify these synonyms in the XML definition of your search engine.
  • Date Biasing: Fine-tune the relevance of search results by specifying a bias for newer documents. We allow various levels of biasing, the highest of which approximately sorts by date.
  • Top Results Biasing: If you want the first N results to always match a refinement, you can specify that as a property of the refinement. We will try to fill up the top N positions with results matching that refinement before showing other relevant results.
We're not done with Custom Search and are always thinking about ways to add new features. Stay tuned, as we've only just begun.

Tuesday, May 6, 2008

Custom Search expands to AdSense for Search



Since the launch of Custom Search, we've seen more and more webmasters, publishers and organizations enable high-quality search engines on their web sites and blogs to help their users find what they're looking for. Thanks to your continuous feedback, we've been able add new features and global support, resulting in even more growth.

Now, the Custom Search platform is expanding further by simultaneously improving our indexing for your search engine and broadening our reach to power AdSense for Search. AdSense publishers can now create Custom Search Engines (CSEs) and take advantage of the most popular customization features right within their AdSense accounts.

As you may know, Custom Search is built on top of the Google index, which means that pages that are available on Google.com are also available to your search engine. In addition, Custom Search now maintains its own index for enhanced coverage for web sites included in CSEs.

If you have pages that aren't currently being indexed in Google.com, you can let us know about these pages by submitting a Sitemap through Webmaster Tools, and pages in your Sitemap that aren't included in the Google index will be detected and indexed for your search engine. Improved index coverage is not instantaneous as it takes some time for the pages to be crawled and indexed. Please also note that this improved indexing only affects search results within the search engine you create, not your rank and indexing on Google.com.

We'd like to welcome all AdSense publishers to the Custom Search community! By growing our community, we're hoping to work with more of you to help users across the web find exactly what they're searching for.

Wednesday, April 23, 2008

Searching for Creative Commons licensed content



If you've ever wanted to let your users only see content that is free to use and share (such as through Creative Commons), here are a few tips on how to do it. Assuming you've indicated the CC license in your pages, you can now specify that you want only content with specific licensing terms to show up in your CSE. We've made available four labels for CSE creators to use based on the CC licenses:
  • free_use_share (by-nc-nd)
  • free_use_share_commercially (by-nd)
  • free_use_share_modify (by-nc-sa)
  • free_use_share_modify_commercially (by-sa)
You can either use one of these labels as a background label to restrict all of your content to these terms, or you can reference these labels in the facet items section of the CSE specification and they will be exposed to users as additional refinements in your CSE. Note that these are filter labels; you cannot boost according to these labels.

As you generate content, please keep in mind that there are a number of ways Creative Commons licenses may be added to an HTML doc:
  1. with <rdf:RDF>...</rdf:RDF> in the HTML head or body
  2. using <meta name="DC.rights" content=uri of cc license>
  3. using <a rel="license" href=uri of cc license>
  4. using <rdf:RDF>...</rdf:RDF> in a comment
If your documents use any of these methods, we likely already have licensing information. See for example: http://joshua.smcvt.edu/linearalgebra/ that illustrates method number 3:
<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"> ...
and also illustrates method number 4:
<!-- <rdf:RDF xmlns="http://web.resource.org/cc/" ... >
<License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/">...
</License>
</rdf:RDF> -->
See the file source for the complete text and don't forget to visit our Webmaster Central for more information.

Thursday, March 27, 2008

Labels in Custom Search



Last month we demonstrated how to specify URL patterns in your CSE. We now explain another powerful concept in Custom Search: labels, which are also known as refinements. Labels are typically displayed above the search results.
Let's revisit our I Love Veggies search engine. When the user searches for "eggplant", we display some categorical refinements above her search results such as: recipes, nutrition, farmer's markets, and growing tips. When she clicks the "recipes" refinement, for example, our CSE emphasizes eggplant recipes in her search results.

To make refinements, do the following:

1. Create refinement labels.

To add a refinement to your custom search engine, go to the Refinements tab in the control panel, then click the Add Refinement button. Enter a refinement label and its associated keywords, and choose how to prioritize the labeled sites. You can enter one of our predefined refinements or create one of your own.

2. Tag sites with refinement labels.

Once you have configured your refinements, go to the Sites tab in the control panel. Choose some sites (URL patterns) using the checkboxes, then choose a label from the Label actions drop-down list. You can attach any number of labels to each site. For example, if a site includes nutritional information with its recipes, you could label it with both the "recipes" and the "nutrition" refinements. Labeling your sites properly enables your users to find sites that are relevant to each refinement. In addition, by showing meaningful labels under each search result, you enable your users to find similar results quickly. The Custom Search Help Center has helpful hints on how to choose good refinements.
And this is how to create refinements and assign their labels to your sites using the Custom Search control panel. We'll show you advanced refinement management using XML in another post soon.




Tuesday, March 18, 2008

Making the most with AdSense



If you're currently making money from CSE with AdSense, here are a few optimization tips to help you improve your current performance. (If you're not already earning money this way, scroll down to learn more about how you can start doing so, using your search box.)

1) Search box placement: Search boxes should be easy to find, typically under the header or on the left navigation bar, to encourage users to simply search for what they're looking for instead of spending time browsing through your content. Try to keep your search box in the same place on every page so users know where to return for future searches.

2) Two search boxes per page: For pages with a lot of content, we recommend placing two search boxes per page - one at the top of the page where users can immediately go to to find what they're looking for and one at the bottom of the page where users can quickly search for something else after reading the content on the page. You can track the performance of each by creating a custom channel.

3) iFRAME: By choosing to host the search results, you can integrate search results and ads within your site so users don't leave your site when they perform a search. If users don't find what they're looking for in the search results, they can easily click to another section of your site through your site's template.

4) Search box on search results page: Remember to place another search box on your search results page in the case that a user wants to perform another search.

5) Ad placement: For better monetization, we recommend choosing to place ads at the top & right of the search results for added visibility.

6) Appearance customization: Customize the search results with your site's colors to match the look and feel.

If you aren't using AdSense, we encourage you to sign up and get paid for every valid click on ads you're already showing. Just go to the Make Money link in the CSE control panel and fill out the short form to sign up for an account. If you already have an AdSense account, you can easily link the two to start earning money immediately.

Now then -- better go figure out what to buy with all that extra cash. ;)

Tuesday, March 4, 2008

Custom Search on Google Help Centers



Custom Search Engines (CSEs) are powerful tools for searching over the pages of your site, as well as providing links to your favorite resources across the web. Because they provide great search functionality with the option to specify a subset of Google's web index, they're perfect for us to use in our Google Help Centers.

We've rolled out CSEs to many of our product Help Centers already, including the Custom Search Help Center, and we're also using it on our main Google Help page.

The Help Center search engines use several key features of CSEs such as refinements and labels to identify result sources, and Subscribed Links for certain help queries, like this one in the Analytics Help Center.

Because Help Center searches will now include content from product pages, developer documentation, Google blogs, and help groups, we hope that search will be an even more effective tool to help you find answers to your Google product questions. For example, failed searches - searches that don't return any results - decreased by 23% on the Analytics Help Center after we added a CSE.

Thursday, February 21, 2008

Specifying patterns for your Custom Search Engine



Creating a basic Custom Search Engine (CSE) is very easy. You enter a list of sites, select a few basic preferences, and you are done, right? But in fact there's more to Custom Search -- consider it a very powerful way of building your own search engine on top of Google search. You can exclude sites, add labels for drill-down and even change the ranking of results for your search engine. In this blog post, we look at the basic element of Custom Search - URL patterns

URL patterns specify the part of the web you want to search or exclude from your search. Custom Search is based on approximation algorithms that use these patterns to give you your customized results.

Consider the "I Love Veggies" search engine that we created. Here's how the "I Love Veggies" search engine made use of patterns effectively:

  • Be very specific. Use the longest possible pattern for specifying a site. For example, in the "I Love Veggies" search engine, we wanted to search all of www.goveg.com, so we added "www.goveg.com/*" as a pattern. But we wanted to search only the vegetarian part of the "allrecipes.com" site. So instead of adding all of "allrecipes.com/*" we added the more specific "allrecipes.com/Recipes/Everyday-Cooking/Vegetarian/*".
  • Specify multiple pages in a site with a "*" at the end of the pattern. If you specify just "www.goveg.com", Custom Search will search just the single page http://www.goveg.com. You need to remember this only if you are write your XML file of annotations directly. If you are using the Control Panel, it automatically adds the "/*" at the end for you, unless you indicate otherwise.
  • Sometimes, you might have a few hosts on a domain with the same path that you want to search. In our example, we wanted to search "mideastfood.about.com/od/vegetarianrecipes/*" and "indianfood.about.com/od/vegetarianrecipes/*". In such a case it is better to specify these patterns individually instead of a very general "*.about.com/od/vegetarianrecipes/*" as more specific the patterns, better the approximation.
  • You can only use the * in the hostname at the beginning of the pattern and it can only represent a full token. For example, "*.about.com/*" is a valid pattern and so is "*.food.about.com/*". However, "*ood.about.com/*" is not valid, nor is "food.*.about.com/*".

Keep reading this blog for more tips and tricks as we develop our "I Love Veggies" search engine. If you have specific questions or feature requests you can visit our Help Center or ask a question on the Discussion group.

Friday, February 8, 2008

Promoting useful information and web pages



Webmasters often want the ability to promote specific information or web pages when users search for specific things via their Custom Search Engine (CSE).
Here are some examples where this is useful:

* You have a travel site, and want to draw attention to a spring promotion above the search results for keywords "hawaii", "maui", "kona". You want a nice image of the beach and the three most popular packages listed right on top.
* You've created a soccer search engine, and you want soccer fans to quickly get to the results of the Cup of Nations tournament in Ghana for queries [africa], [ghana], and [cup of nations]
* Your company just launched a brand new product, and you'd like people to know about it via a headline link to your product blog post when they search for older products in the same category.

We've always had the ability to do this in Custom Search (via a feature called Subscribed Links) but now, we've tried to make it a little easier for you.

When you go to to the control panel for your CSE, you'll see a new option in the "Preferences" section towards the bottom of the "Basics" tab. Selecting this option will enable your Subscribed Link to be triggered in your CSE for the keywords you've specified. If you don't already have a Subscribed Link defined, you can create one in minutes. Just specify the trigger keywords, the summary text you'd like displayed, and the URL of the target web page when the link is clicked.


When visitors search on your CSE using the special trigger keywords, your special link will show up right on top of the results, where they won't miss it.

You can manage your Subscribed Link via the Subscribed Link console. Check the developer documentation for advanced options. Remember that subscribed links display differently on your CSE (above the results) versus on Google.com (inline).

Monday, January 7, 2008

Displaying the most relevant refinements



Over the past year, a number of you have asked to show only the matching refinements above Custom Search results. Today we're announcing that very feature: You can have as many FacetItems as you like in the XML definition of your CSE and control the number that display on a search page using this feature. Just add a "top_refinements" attribute to your context definition's CustomSearchEngine tag.

<CustomSearchEngine top_refinements="n">
</CustomSearchEngine>

Where n is the number of refinements you want to show.

For example, consider the context definition of a CSE I created: http://vrishali.googlepages.com/food_context.xml. It has sixteen FacetItems -- however, the top_refinements is set to 4. This means that it will display the top four matching refinements for every query. Check out the query chicken. Observe how the refinements displayed at the top are different for the query food safety.

Now consider the default implementation of the same CSE, that is without the top_refinements option: http://vrishali.googlepages.com/food_context_no_top_refinements.xml. All queries in this search engine will display the same refinements, for example chicken and food safety.

This feature is enabled for Linked CSEs as well as Google stored CSEs. To use it in your Google Stored CSE, download the context file in the "Advanced" tab of your control panel, add the "top_refinements" attribute to the CustomSearchEngine tag in your XML and upload the modified file.

If you don't want to display refinements at the top of the search results, turn them off by setting top_refinements="0". Your search results will still be labeled with the refinements that match.

As always, let us know what you like, or don't like, about this feature!