ogterran, It should do one for the search and then one for each item in the search result. If you are worried performance on the calls to the datastore you can modify this code to make the ProductSearchIndex entity be a child of the Product entity and use a key only query to retrieve only the keys for the search index entities (since we only really care about the Products anyway).
This will still to the same number of queries but will avoid the overhead of deserializing the ProductSearchIndex objects (and the associated index list property which might be long). Something like the following should work: class Product(db.Model): pid = db.StringProperty(required=True) title = db.StringProperty(required=True) site = db.StringProperty(required=True) url = db.LinkProperty(required=True) class ProductSearchIndex(search.SearchableModel): # parent == Product title = db.StringProperty(required=True) ... # where you write the Product product = Product(pid = pid, title=title, site=site, url=url) product.put() index = ProductSearchIndex(parent=product, title=title) index.put() ... # where you search keys = ProductSearchIndex.all(keys_only=True).search(query).fetch(100) for key in keys: product = Product.get(key.parent()) print product.url On Tue, Jun 23, 2009 at 5:59 PM, ogterran <jonathanh...@gmail.com> wrote: > > Hi Ian, > > Thanks for the response. > I have one question on number of datastore calls. > How many datastore calls is the query below making? > Is it 1 or 100? > > > class Product(db.Model): > > pid = db.StringProperty(required=True) > > title = db.StringProperty(required=True) > > site = db.StringProperty(required=True) > > url = db.LinkProperty(required=True) > > > > class ProductSearchIndex(search.SearchableModel): > > product = db.ReferenceProperty(Product) > > title = db.StringProperty(required=True) > > query = ProductSearchIndex.all().search(searchtext) > results = query.fetch(100) > for i, v in enumerate(results): > print v.product.url > > Thanks > Jon > > > > -- ======================================= 株式会社ビープラウド イアン・ルイス 〒150-0012 東京都渋谷区広尾1-11-2アイオス広尾ビル604 email: ianmle...@beproud.jp TEL:03-5795-2707 FAX:03-5795-2708 http://www.beproud.jp/ ======================================= --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---