Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 26 September 2013

App Engine 1.8.5 released – featuring Search API and PHP updates

Posted on 08:00 by Unknown
We’re back with Google App Engine 1.8.5, and this release focuses on an upgrade to the Search API and improvements to the PHP runtime. Next week we’ll be at Zendcon, one of the largest conferences for PHP developers, where we’ll have some cool things to share about the PHP runtime.



Search API is now Generally Available

Surfacing Google technology to developers everywhere is one of our goals with Cloud Platform. The Search API does exactly this. With just a few lines of code, you can use Google Search technology to index and query millions of documents that contain structured data. Today, we’re making the Search API Generally Available so any developer can dive in and get started.



To understand how easy it is to get going with the API, let’s say you were a real estate company that wanted to add search capabilities. To do so, we’ll first import the Search library, and add some listings (referred to generically as Documents in the Search world).



from google.appengine.api import search

listingLocation = search.GeoPoint(37.78, -122.39)
listing = search.Document(
fields=[
search.TextField(name='description', value='Great condo in the city'),
search.NumberField(name='bedrooms', value=2),
search.GeoField(name='location', value=listingLocation)
# omitting the other fields for this example
])


Next we add the newly created listing to our index using the put() method.



try:
index = search.Index(name='listingsForSale')
index.put(listing)
except search.Error:
logging.exception('Make sure you handle this error')


After we’ve added documents to an index, we’ll grab an index and specify our search query.



index = search.Index(name='listingsForSale')

# search for listings within 8050 meters (~5 miles) of the 94109 zip code
query_string = 'distance(location, geopoint(37.7929, -122.4212)) < 8050'


Finally we’ll perform the search and iterate over the results.



try:
results = index.search(query_string)
# Iterate over the documents in the results
for scored_document in results:
pass # handle results
except search.Error:
logging.exception('...and this one too')


And that’s just a small example. The Search API allows developers to:

  • index Atom, Text, HTML, Number, Date, Geopoint fields

  • perform queries across all field types, including geospatial queries, partial text matching

  • score and sort results



We have many customers using the Search API for a variety of use cases. Key Ingredient, for example, uses the Search API to allow users to perform searches over the 1.6 million recipes in their database. Harlan Beverly, their CEO, said, “Our users are often shocked and delighted by the speed of our search results and our site overall.”



By moving to GA, the Search API is fully supported and comes with a monthly 99.95% SLA. For more information, be sure to check out our docs (Python and Java).



Improvements to the PHP runtime

The Cloud Platform team focuses a lot on providing great developer tools so that you can be as agile as possible in development. In this release, we’ve packaged a PHP interpreter binary in the Windows and Macintosh SDKs, including integration with the App Engine launcher, so that you no longer need to install PHP yourself.



We also believe modularized applications are the right way to go for architecting solutions in the cloud. So the PHP runtime now supports App Engine modules – the ability to split out large-scale applications into logical components that are able to share stateful services and communicate securely.



Finally, we’ve added the Logs API to the PHP runtime, which provides you access to the application and and request logs for your application.



That’s a lot of PHP goodness in 1.8.5, and we’re accepting more users, so sign up to give it a try.



Eclipse Tooling

We took your feedback that our Google Plugin for Eclipse should fully support Cloud Endpoints in the Eclipse standard Web Tools Platform and Java EAR files which are familiar to many Java developers as the most common pattern used in Eclipse for on-premise and cloud environments. Now, check out how to add an App Engine backend to your Android or iOS mobile app.



The complete list of features and bug fixes for 1.8.5 can be found in our release notes. For App Engine coding questions and answers check us out on Stack Overflow, and for general discussion and feedback, find us on our Google Group.



-Posted by Chris Ramsdale, Product Manager
Email ThisBlogThis!Share to XShare to Facebook
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • 2013 Year in review: topping 100,000 requests-per-second
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Easy Performance Profiling with Appstats
    Since App Engine debuted 2 years ago, we’ve written extensively about best practices for writing scalable apps on App Engine. We make writ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • Scaling with the Kindle Fire
    Today’s blog post comes to us from Greg Bayer of Pulse , a popular news reading application for iPhone, iPad and Android devices. Pulse has ...
  • Who's at Google I/O: Mojo Helpdesk
    This post is part of Who's at Google I/O , a series of guest blog posts written by developers who are appearing in the Developer Sandbox...
  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • SendGrid gives App Engine developers a simple way of sending transactional email
    Today’s guest post is from Adam DuVander, Developer Communications Director at SendGrid. SendGrid is a cloud-based email service that deliv...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ►  December (33)
    • ►  November (15)
    • ►  October (17)
    • ▼  September (13)
      • We're building a community for the cloud-minded
      • How to mix and match web services, batch processin...
      • App Engine 1.8.5 released – featuring Search API a...
      • AppScale brings choice to App Engine developers
      • How Streak makes debugging easy in App Engine Data...
      • Sendgrid now supports Google Compute Engine for se...
      • Google BigQuery goes real-time with streaming inse...
      • Check out technical solutions and sample apps to g...
      • Where the cloud meets the road
      • Running Apache Hadoop on Google Cloud Platform
      • Cloud Platform updates: App Engine 1.8.4 and new C...
      • Introducing CORR() to Google BigQuery
      • Time to show what you can do with Google Cloud Pla...
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile