Get search results from the CUL libraries collection
Default html interface:
http://web.search.cornell.edu/search?client=default_frontend&site=libraries&q=canoe
Here is a form that gives you results with the default interface:
<form action="http://web.search.cornell.edu/search" method="GET" name="gs"> <label for="search-form-query">SEARCH Cornell University Library Websites:<br /></label> <input type="text" name="q" value="" size="50" maxlength="256" id="search-form-query" /> <input type="submit" name="btnG" value="go" id="search-form-submit" /> <input type="hidden" name="sort" value="" /> <input type="hidden" name="ie" value="UTF-8" /> <input type="hidden" name="gsa_client" value="default_frontend" /> <input type="hidden" name="oe" value="UTF-8" /> <input type="hidden" name="site" value="libraries" /> <!-- note: 'libraries' instead of 'default_collection' --> </form>
If you want to embed the results in your web page you ask for them via xml:
These documents show all the details about the xml structure returned from the Google Seach Appliance:
http://code.google.com/apis/searchappliance/documentation/46/xml_reference.html
Modifying the search form
To use this library collection in a standard Cornell banner, set the form action to an intermediate file that will sort out parameters for web.search.cornell.edu :
<form action="qna-results.cfm" method="GET" name="gs"> <div id="search-input"> <label for="search-form-query">SEARCH:<br /></label> <input type="text" name="q" value="" size="50" maxlength="256" id="search-form-query" /> <input type="submit" name="btnG" value="go" id="search-form-submit" /> <input type="hidden" name="output" value="xml_no_dtd" /> <input type="hidden" name="sort" value="" /> <input type="hidden" name="ie" value="UTF-8" /> <input type="hidden" name="gsa_client" value="default_frontend" /> <input type="hidden" name="oe" value="UTF-8" /> </div> <div id="search-filters"> <input type="radio" name="sitesearch" value="this-site" id="search-filters0" /> <label for="search-filters1">This Site</label> <input type="radio" name="sitesearch" value="library.cornell.edu" checked="checked" id="search-filters1" /> <label for="search-filters1">Library Pages</label> <input type="radio" name="sitesearch" value="cornell.edu" id="search-filters2" /> <label for="search-filters2">Cornell</label> <a href="http://web.search.cornell.edu/" >more options</a> </div> </form>
Here's a coldfusion search example, and here's a php search example.
Search Results - Coldfusion
Sanjeev Shukla presented Coldfusion code for handling the search results 4/12/06 at the CU Web Forum Meeting. He later released a second version with some bug fixes:
http://forum.web.cornell.edu/mtg_materials/gsa_package_v2.zip
Search Results - php
I've built a php object called ~jgreidy:cul_gsa_search() to handle the interaction with http://web.search.cornell.edu and parse the xml results it returns. I also have an example wrapper script and ~jgreidy:css file to display the search results. Here is the wrapper script and a test page. The code you will need to use will look like this:
<link rel="stylesheet" type="text/css" media="screen" href="search.css" /> </head> <body> <?php require_once("cul_web_search.php"); cul_web_search_form(); ?> <h2>Search Results</h2> <?php cul_web_search_results(); ?>
Style the results
I've attached a ~jgreidy:css stylesheet for Cornell Google search results as a starting point. Certain results may be marked as 'Keymatch Results' and these get special styling.
Here is a nice page from New York University describing how to style the xml Google search results using xsl.