Google Search Engine custom api implementation to enterprise? - google-search-api

I have started a small IT service company recently in India. I was approached by an Big Enterprise asking to design a custom search engine (for internal/web usage) using the Google's custom search engine api.
it has to fetch info from a specific set of websites (internal websites / common web search)
if a particular website is selected before search, it should display the info from that website only.
Enterprise has a webpages that can be accessed with authentication. when user logged-in, the search has to fetch info from those authenticated webpages as well.
the contents should be segregated into images, books, movies, music, etc.
auto complete and search while typing
once we finish this design, may have to run it as a android application using phone gap(cordova lib).
My Questions:
Is Google allow me to do implementation for the Enterprise (they ready to use and pay Usage Charge for using Google search api), and Can I charge the enterprise for implementation and support (agreement will be made between my company and enterprise)?
Is Google provide ad free search results for custom search? If not can we do restriction on the result?
Is Google search engine can be extended to android app?
If your answer is "No" for above questions, if I develop search engine solution on my own, how can I do that?

Google Custom Search is searching only publicly available documents. For internal websites, you can check out Google Search Appliance: http://www.google.com/enterprise/search/products/gsa.html

Related

How to monitor usage of Google Custom Search Engine

I'm migrating from Google's Google Site Search (GSS) to Google Custom Search Engine (CSE). I'm using the Atom/JSON API via a PHP library, exactly as I was for my current GSS service. I've created a new CSE search engine in my account and updated the secret key and search engine ID in my PHP configuration.
But I'm not sure how I can monitor the usage of my new CSE search engine? How can I tell whether I've run out of requests? How will I know when I need to pay? In fact, how do I even know that my search requests are going to my new CSE and not to my old GSS?
Is there any sort of logging of searches made using my CSE that I can check?
As a side question, I don't understand how CSE is ad-supported. The Atom/JSON API doesn't seem to include any ads in the results. And even if it did, how can Google force me to display them?
You can get basic usage stats on the Statistics tab (https://cse.google.ca/cse/statistics/stats?cx=) or much more detailed statistics by creating a free Google Analytics account here and then associating it with your CSE by adding your Analytics ID at (https://cse.google.ca/cse/statistics/ga?cx=). The Analytics mobile app (Android or iOS)is pretty slick and can be customized countless ways.

Can someone explain me what is an API.?

I've googles about it, yet couldn't understand it properly.. Not sure if it's a library or intra-server communicator..
Can someone explain me in a high-level /low-level what is meant by an API.??
http://en.wikipedia.org/wiki/Application_programming_interface
Read it from here , will hopefully clear most of your doubts.
An API stands for Application Programming Interface, which means using and existing program or code and accessing it with your code.
===
Example, Search Engine:
Search engine 1: offers search and api (if you want this can be google)
Search engine 2: uses googles api to get results (this is your one)
To get results you basically search the other search engine and get their results to yours
====
An API can be used in many ways, to access others data or code, ect
An in-depth explination can be found here: http://en.wikipedia.org/wiki/Application_programming_interface
An application-programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company releases its API to the public so that other software developers can design products that are powered by its service.
For example, Amazon.com released its API so that Web site developers could more easily access Amazon's product information. Using the Amazon API, a third party Web site can post direct links to Amazon products with updated prices and an option to "buy now."
An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy movie tickets online and enter your credit card information, the movie ticket Web site uses an API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the movie ticket Web site saying it's OK to issue the tickets.
As a user, you only see one interface -- the movie ticket Web site -- but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one application to another.
This article shows an example
http://www.codeproject.com/Tips/127316/Integrate-FB-javascript-API-to-your-asp-net-app-to

Hosting Google Plus Communities on My Website

Is it possible to embed a google community into a website page?
This way our clients can benefit from content and all other features in our website, yet be able to collaborate using Google Communities.
Ideally I would like to grab a Javascript code just like +1 button and paste it into my website page, add an iframe or something of this nature!
UPDATE:
Sounds like if I try to be convincing, I may be able to influence some decisions!
More details: Our website services offers login with Google using Google OAuth, This way the user is either logged in or is forced to login with Google to get access to private areas of our customer portal, where you can review the status of Support Tickets, submit new support tickets, have access to knowledge base, documents, blogs, etc.
We have incorporated all sort of social plugins into the blogs, product catalogs and so forth.
It would be fantastic is the users can have access to a community (Forum or Discussion Board) within the same place. Google Community seem to be the tool but in the wrong place.
No such widget exists at this time, but it's an interesting idea. If you want to share more details on precisely what you're looking for, you can file the issue here: https://code.google.com/p/google-plus-platform/. The more details you can provide, the more likely that, if we decide to implement this feature, we'll end up with something that you want.

Google Commerce Search for a standalone app?

I am building a mobile app.
I am not merchant, I am just an app developer.
I want to integrate some of google's search abilities, and so I have stumbled upon Google Commerce Search. Its features seem to cover the exact features I am looking for.
However, it seems as though it's only meant for retailers, and the pricing is accordingly.
So my questions are:
Is there any way to integrate Google's product or commerce search through an publicly open
api?
Is there any way to integrate some image search as well (find similar images)?
Thank you.

Google Maps, Bing Maps, OpenStreetMaps and MapQuest limitation

I'm very confused reading the online term of use of some Online Map Service (like Google Maps, Bing Maps, OpenStreetMaps and Mapquest)...
There is a way to use Google or Bing Maps on a website for non-commercial or commercial pourpose without any daily limitation of request?? What kind of Api I can use for free without any limitation of use or request, if I want to see a map on my site with several point of interest inserted by me??
I have read that in free version of Google or Bing some ads may appear sometimes inside the maps, and I cannot insert in my webpages any ads from another provider different from Google or Bing. It's true?
If I want to use OpenStreetMaps (an opensource Maps Database) or the partner MapQuest, it's true that there aren't any limitations of daily request or appearing ads on the maps or policy of exclusive banner campaign??
But, at the end, If I try to build a portal with this maps, and I want to plan in the future the insertion of some ads and the creation of a little company, I'm doing a commercial or not-commercial use (now and in future)??
Google recently announced new advertising and rate limiting in their terms of service. Websites will be forced to display ads in their maps, or pay for a premium account. Popular websites (resulting in lots of hits of google map tile server) will also need to pay for a premium account. It's not clear if your intended use will trigger those limits.
OpenStreetMap might offer a viable alternative. They do run a map tile server which can be used to embed a slippy map on your website. There is also an open source javascript library called OpenLayers (among other options), meaning that you can be free of google and their ads. OpenStreetMap do however operate a strict tile usage policy to protect the service which is paid for by donations, and run by volunteers.
OpenStreetMap also uniquely offers another approach: Create your own tile server, rendering the raw map data yourself. This might be a sensible option if you run a very popular website, or if you require only a limited area of the world to be shown. It's also really neat because you have full control over rendering style. It's a fairly technical process though ...but
Because this is possible, a number of third parties will offer you a map tile service built using OpenStreetMap data. e.g. MapQuest, CloudMade, TileServer, TileDrawer, or MapBox