Search Calendar in CSE


You can Create a Searchable Google Calendar using CSE ( Custom Search Engine ).

This method works perfectly for  bookmark feeds etc.. So you can search your favorite bookmarks.


Your Calendar should be indexed and visible in a Google Search. [The "Make my calendar searchable" function has been removed from Google calendar]

So you can search information dynamically from your calendar. 
This method can also be used for any feed, XML, Html. Once you format the data back to the search information and keywords you want.

Public Calendar XML

Calender[dropdown menu] > Calendar settings > Calendar address - XML button

https://www.google.com/calendar/feeds/roryrocits%40gmail.com/public/basic

What a Single Event in the Calendar Xml looks like:

[Information and keywords you want- highlighted]
&lt;br /&gt;Event Status: confirmed</content><link rel='alternate' type='text/html' href='https://www.google.com/calendar/event?eid=N3ZuZjdvc204bjRwM2diaTRobjlmbnZuMXMgcm9yeXJvY2l0c0Bt' title='alternate'/><link rel='self' type='application/atom+xml' href='https://www.google.com/calendar/feeds/roryrocits%40gmail.com/public/basic/7vnf7osm8n4p3gbi4hn9fnvn1s'/><author><name>Rory O Connor</name><email>[[email removed]]</email></author></entry><entry><id>http://www.google.com/calendar/feeds/roryrocits%40gmail.com/public/basic/0h4697tt4cv60ltrsof1r5tec8</id><published>2011-09-12T08:40:43.000Z</published><updated>2011-09-12T08:40:43.000Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'/><title type='html'>Online Booking</title><summary type='html'>When: Thu 1 Jan 1970 01:00 to 01:00&amp;nbsp;
IST&lt;br&gt;


&lt;br&gt;Event Status: confirmed</summary><content type='html'>When: Thu 1 Jan 1970 01:00 to 01:00 
IST&lt;br /&gt;
[1970? calendar bug???]


Format your Calendar XML



Then go to...
CSE control panel: 
> advanced 
> CSE Tools [link]


XML Formatting Tools:

CSE URL Tools: makeannotations or makecse



Get the calendar XML and remove: http:///www. 
Then encode so you get url=google.com%2Fcalendar%2Ffeeds%2Froryrocits%2540gmail.com%2Fpublic%2Fbasic 
 
Using the ...makeannotations tool you can quickly format the results to below:

CSE Annotation Parameters: 

makeannotations:


url parameter must be Encoded: 
...&url=example.com%2Fsearchthis... 
[Original URL: example.com/searchthis]
...&label=_cse_xxxxxxx

pattern parameter supports host, exact, path
...&pattern=exact..

...&autofilter=1 [on/off]

...&startbyte= [define the start of XML/Html]
...&endbyte= [define the end of XML/Html]

makecse:


support all makeannotations parameters and the following

...&boostexact=1.. [on/off]




Add Your CSE ID


Add Your unique CSE ID to include and exclude URLs
Example: ...&label=_cse_xxxxxxx

CSE control panel: 
> advanced 

Formatted XML - CSE Testing Tool 

["developer console"]


Add the formatted XML as a feed


CSE control panel
> advanced
Add annotations feed


Tweak the CSE search


Add 'Synonyms' ie. Jul for "July" Searches

Add 'Refinements' eg. If you have a Google Site Indexed and a Calendar Index i the same CSE.
Create 'Refinements' sub sections for your calendar the will display tabs in your search.

ReIndex your Searchable Calendar

Note: CSE indexes the information like a normal search engine.


Use Re-Index [after adding new calendar events] or set Auto Indexing.  

Embed Your Calendar Search in 

Google Sites


Add to Search Result Event to 

Users Calendar:


From the Calendar XML you have a link to the individual event.

Using this link you can add the parameter






Try the CSE forum for more trouble shooting like this: 

http://www.google.com/support/forum/p/customsearch/thread?tid=68b28609c9afa0d1&hl=en

 


Calendar Indexing Workarounds

Setup public calendar in Google Apps

Make a sub domain calendar.example.com

Getting your calendar indexed???

add to calendar.example.com to webmaster tools???
add the xml as feed/sitemap???