python - Overcoming the size entry size limit for appengine search? -
i trying use searchable model blog entries , worked fine on development platform when try add entry in cloud error:
traceback (most recent call last): file "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/init.py", line 517, in call handler.post(*groups) file "/base/data/home/apps/smart-fast/1.348228399174418277/admin.py", line 76, in post article.put() file "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/init.py", line 895, in put return datastore.put(self._entity, config=config) file "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 404, in put return _getconnection().async_put(config, entities, extra_hook).get_result() file "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 601, in get_result self.check_success() file "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 572, in check_success rpc.check_success() file "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 502, in check_success self.__rpc.checksuccess() file "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 126, in checksuccess raise self.exception applicationerror: applicationerror: 1 many indexed > properties entity: app: "smart-fast",path < element { type: "article", id: 2002 }> index put on limit: entity_type: "article",ancestor: false, property { name: "searchable_text_index", direction: ascending}, property { name: "searchable_text_index", direction: ascending}, property { name: "date", direction: ascending}
these entries aren't large(<500 words) limit low? way can think around store entry non-searchable model , break entry text smaller searchable models, each reference main entry. appreciated
what seem running called exploding indexes. can read more them here: http://code.google.com/appengine/docs/python/datastore/queries.html#big_entities_and_exploding_indexes
basically can't use appengine create full-text engine, unless have small dataset. it's either you'll run exploding indexes or you'll run other issues (i.e. merge join timeouts). recommend service called indextank full-text search service. has full rest api , python client it's easy going on appengine.
Comments
Post a Comment