def search_search(**kwargs): _type = kwargs.get('type', None) tick = time.time() results = {} if request.method == 'POST': results = search.search(request.get_json(), doc_type=_type) elif request.method == 'GET': q = request.args.get('q', '*') # TODO Match javascript params? start = request.args.get('from', '0') size = request.args.get('size', '10') results = search.search(build_query(q, start, size), doc_type=_type) results['time'] = round(time.time() - tick, 2) return results
def get_queryset(self): query = self.request.query_params.get('q', '*') page = int(self.request.query_params.get('page', '1')) page_size = min(int(self.request.query_params.get('page[size]', REST_FRAMEWORK['PAGE_SIZE'])), MAX_PAGE_SIZE) start = (page - 1) * page_size try: results = search.search(build_query(query, start=start, size=page_size), doc_type=self.doc_type, raw=True) except MalformedQueryError as e: raise ValidationError(e.message) return results
def get_queryset(self, query=None): page = int(self.request.query_params.get('page', '1')) page_size = min(int(self.request.query_params.get('page[size]', REST_FRAMEWORK['PAGE_SIZE'])), MAX_PAGE_SIZE) start = (page - 1) * page_size if query: # Parser has built query, but needs paging info query['from'] = start query['size'] = page_size else: query = build_query(self.request.query_params.get('q', '*'), start=start, size=page_size) try: results = search.search(query, doc_type=self.doc_type, raw=True) except MalformedQueryError as e: raise ValidationError(e.message) return results
def query(term): results = search.search(build_query(term), index=elastic_search.INDEX) return results
def query(term): results = search.search(build_query(term)) return results
def query(term, raw=False): results = search.search(build_query(term), index=elastic_search.INDEX, raw=raw) return results